|
在3.4.1节的集合运算基础上,关系数据库还有一些专门的运算,主要有投影、选择、连接、除法和外连接。它们是关系代数最基本的操作,也是一个完备的操作集。在关系代数中,由五种基本代数操作经过有限次复合的式子称为关系代数运算表达式。表达式的运算结果仍是一个关系。我们可以用关系代数表达式表示各种数据查询和更新处理操作。
|
|
|
(1)投影。投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序,再删去重复元组。记作:
|
|
|
|
|
(2)选择。选择操作在关系R中选择满足给定条件的所有元组,记作:
|
|
|
|
其中F表示选择条件,是一个逻辑表达式(逻辑运算符+算术表达式)。选择运算是从行的角度进行的运算。
|
|
|
(3)θ连接。θ连接从两个关系的笛卡儿积中选取属性间满足一定条件的元组记作:
|
|
|
|
其中A和B分别为R和S上度数相等且可比的属性组。θ为“=”的连接,称作等值连接,记作:
|
|
|
|
如果两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,则称为自然连接,记作:
|
|
|
|
(4)除法。设两个关系R和S的元数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组的集合。(R÷S)是满足下列条件的最大关系:其中每个元组t与S中每个元组u组成新元组<t,u>必在关系R中。其具体计算公式如下:
|
|
|
R÷S=π1,2,…,r-s(R)-π1,2,…,r-s((π1,2,…,r-s(R)×S)-R)
|
|
|
(5)外联接。两个关系R和S进行自然连接时,选择两个关系R和S公共属性上相等的元组,去掉重复的属性列构成新关系。这样,关系R中的某些元组有可能在关系S中不存在公共属性值上相等的元组,造成关系R中这些元组的值在运算时舍弃了;同样关系S中的某些元组也可能舍弃。为此,扩充了关系运算左外连接、右外连接和完全外连接。
|
|
|
.左外连接:R和S进行自然连接时,只把R中舍弃的元组放到新关系中。
|
|
|
.右外连接:R和S进行自然连接时,只把S中舍弃的元组放到新关系中。
|
|
|
.完全外连接:R和S进行自然连接时,只把R和S中舍弃的元组都放到新关系中。
|
|
|
(6)关系运算实例。设两个关系模式R和S如下表一所示,则π1,2(R)的结果如下表二所示,σ1>2(R)的结果如下表三所示,的结果如下表四所示,R与S的左外连接如下表五所示,R与S的右外连接如下表六所示,R与S的完全外连接如下表七所示。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|