【基本关系操作】
关系模型给出了关系操作的能力说明,但未对关系数据库管理系统语言给出具体的语法要求,也就是说不同的关系数据库管理系统(RDBMS)可以定义、开发不同的语言来实现这些操作
关系操作的特点是集合操作,即操作的对象和结果都是集合,一次查询后全表搜索,然后一次性返回所有满足条件的元组的集合,这种操作方式也称为一次一集合(set-at-a-time)方式,相应的,非关系数据模型的操作方式是一次一记录(record-at-a-time)方式
关系模型中的常用的两大关系操作是查询操作和插入、删除、修改操作,查询的表达能力是其中最主要的部分,查询操作可以分为选择、投影、连接、除、并、差、交、笛卡尔积等
在查询操作中,选择、投影、并、差、笛卡尔积是 5 种基本操作,其他操作都可以用这些操作来定义、导出
【关系数据语言】
早期的关系操作能力通常用代数运算方式、逻辑运算方式来表示,使用代数方式来表示称为关系代数,使用逻辑方式来表示称为关系演算
关系代数通过对关系的运算来表达查询要求,关系演算用谓词来表达查询要求,关系演算又按谓词变元的基本对象的类型分为元组关系演算、域关系演算
当一个关系数据语言可以表示关系代数可以表示的查询时,称为具有完备的表达能力,即关系完备性,关系代数、元组关系演算、域关系演算三种语言在表达能力上是等价的,都具有完备的表达能力
他们都是抽象的查询语言,与具体的 RDBMS 中使用的语言并不完全相同,只是用作评估实际系统中查询语言能力的标准,实际的查询语言除了提供关系代数或关系演算的功能外,还提供了许多附加功能
此外,结构化查询语言(Structured Query Language,SQL)是一种介于关系代数和关系演算间,具有高度非过程化的语言,其不仅具有丰富的查询功能,还具有数据定义、数据控制功能,是集查询、数据定义语言(DLL)、数据操纵语言(DML)、数据控制语言(DCL)于一体的关系数据语言,是数据库的标准语言
目前,在关系数据库领域,关系代数与关系演算已不作为商用 RDBMS 的查询语言,常用 SQL 作为关系数据语言,在处理查询时,RDBMS 会将 SQL 查询翻译成关系代数,然后进行查询,也就是说 SQL 是以关系代数为核心的,目前关系代数仍是研究关系数据语言的数学工具
关于关系代数:点击这里
关于 SQL:点击这里