|
|
关系代数是对关系进行集合代数的运算,是基于关系代数的操作语言,称为关系代数语言,简称关系代数。关系代数的运算对象是关系,运算结果也是关系,关系代数用到的运算符主要包括以下4类。
|
|
|
.集合运算符:∪(并)、-(差)、∩(交)、×(广义笛卡儿积)。
|
|
|
.专门的关系运算符:σ(选择)、Π(投影)、∞(连接)、*(自然连接)、÷(除)。
|
|
|
.算术比较运算符:>(大于)、≥(大于等于)、<(小于)、≤(小于等于)、=(等于)、≠(不等于)。
|
|
|
|
|
.传统的集合运算:把关系看成元组的集合,以元组作为集合中的元素来进行运算,其运算是从关系的"水平"方向即行的角度进行的,包括并、差、交和笛卡儿积等运算。
|
|
|
.专门的关系运算:不仅涉及行运算,也涉及列运算,这种运算是为数据库的应用而引进的特殊运算,包括选取、投影、连接和除法等运算。
|
|
|
|
并、差、笛卡儿积、投影和选择是5种基本运算,其他运算可由基本运算导出。
|
|
|
.并:设有两个关系R和S,R和S的并是由属于R或属于S的元数组成的集合,记为R∪S。
|
|
|
.差:R-S定义为属于R但不属于S的所有元组的集合。
|
|
|
.笛卡儿积:设关系R和S的元数分别为a和b,R和S的笛卡儿积是一个(a+b)元的元组集合,每个元组的前一个分量来自R的一个元组,后S个分量来自S的一个元组,记为R×S。
|
|
|
.投影:对关系进行垂直分割,消去关系中的某些列,重新安排列次序,再删去重复的元组。由于某些列删除后,某些元组可能会变得完全相同,那些相同的元组经投影操作后只保留一个。所以,在关系代数中,对一个关系进行投影操作以后,新关系的元组个数小于或等于原来关系的元组个数。
|
|
|
.交:R∩S定义为属于关系R又属于关系S的元组的集合。
|
|
|
.选择:根据某些条件对关系作水平分割,选择符合条件的元组。
|
|
|
.连接:定义为从R和S的笛卡儿积中,选择属性间满足一定条件的元组的集合。
|
|
|
.自然连接:在R×S中,选择R和S公共属性值均相等的元组,并去掉R×S中重复的公共属性列。如果两个关系没有公共属性,则自然连接就转化为笛卡儿积。
|
|
|
如果关系R和关系S作自然连接时,将关系R中原舍弃的元组放到新关系中,这种操作称为"左外连接",用符号"]×|"表示,如R]×|S。如果关系R和关系S作自然连接时,将关系S中原舍弃的元组放到新关系中,那么这种操作称为"右外连接",用符号"|×["表示,如R|×[S。自然连接的操作符为∞,如R∞S。
|
|
|