2.2.5 关系运算

2.2.5 关系运算

系数据库系统是建立在数学理论基础之上的,其中关系代数是与关系模型的数据操作联系最为紧密。关系代数的运算对象是关系算结果也是关系,关系代数的运算按照运算符的不同可分为传统的集合运算与专门的关系运算两类。

1. 传统的集合运算

传统的集合运算将关系看作元组的集合,从行的方向进行运算包括并、交、差和广义笛卡尔积四种运算。

1.1 并运算

关系R和关系S的并运算的结果由属于R或属」S的元组组成即将R、S所有元组合并,再制去重复的元组,组成一个新的关系称为R和S的并,记为RUS

2.2.5 关系运算如:关系R中的元组为英语90分以上的学生,关系S中的元组为数学90分以上的学生,则RUS结果就是单科90分以上的学生。

1.2 交运算

关系R和关系S的交是由既属于R又属于S的元组组成的集合即在两个关系R和S中取相同的元组,组成一个新关系。称为R和S的交,记为R∩S

2.2.5 关系运算
如:关系R中的元组为英语90分以上的学生,关系S中的元组为数学90分以上的学生,则R∩S结果就是英语和数学都是90分以上的学生。

1.3 差

关系R和关系S的差是由属于R而不属于S的元组组即在关系R中删去与S关系中相同的元组,组成一个新的关系,记为R-S

2.2.5 关系运算
如:关系R中的元组为英语90分以上的学生,关系S中的元组为数学90分以上的学生,则R-S结果就是英语90以上并且数学分数小于90分的学生。

1.4 广义笛卡尔积

若:R为n目关系,有k1个元组,S为m目关系,有k2个元组则R和S的广义笛卡尔积的列是·个(n+m)列元组的集合(元组的前n列是R的个元组,后m列是S的个元组),共k1 * k2个元组,记为R*S

2.2.5 关系运算
例:关系R和S分别是具有3个属性列的关系,如如图1所
求R∪S,R∩S,R-S,RxS结果如图2、3所示
2.2.5 关系运算
2.2.5 关系运算
2.2.5 关系运算

2. 专门的关系运算

专门的关系运算包括选择、投影和连接运算

2.1 选择

在关系R中选择满足条件的元组的操作称为选择。选择的条件以逻辑表达式给σ®={t|t∈R˄F(t)=’真’}的元组将被选取。选择运算是在二维表中选择满足条件的行,形成新的关系的过程。记为:

例如关系 Student如下表所示
2.2.5 关系运算
2.2.5 关系运算

2.2 投影

从关系R中选择若干属性得到无重复元组的新的关系,称为投影,记为: π®={t[A]|∈R}

2.2.5 关系运算

2.3 连接

连接运算是将两个关系的属性名拼接成一个更宽的关系,生成的新关系中包含满足连接条件的元组。连接又可以分为条件连接与自然连接。

2.3.1条件连接

条件连接也称为θ连接,它是从两个关系的笛卡尔积中选取满足一定条件的元组连接成一个新的关系。

2.2.5 关系运算
其中A和B分别是关系R和S上的可比属性组。θ是算数运算符,当θ时“=”时,R”符号”S称为等值连接;当θ是“>”时,R”符号”S称为是大于连接:当时0是“<”时,R“符号”S称为是小于连接
例如:关系R和关系S分别有K1和K2个元组,R与S的连接过程是先从R关系中的第一个元组开始,依次与关系S中的各元组比较,符合条件的元组从左到右连接并纳入新的关系,一轮要K2次比较;再用关系R中的第二个元组对S中的各个元组依次符合条件的元组从左到右连接并纳入新的关系。以此类推直到R中所有的元组都完成与S中元组的比较连接。R与S的连接要K1×K2个元组。对于条件连接,两个关系可以没有公共属性公共属性,则新关系含有重复属性。

2.3.2自然连接

自然连接是去掉重复属性的等值连接。将两个关系按公共属性连接成一个新的关系,并把新关系的重复属性去掉。

2.2.5 关系运算
自然连接属于连接运算中的一个特例,是最常用的连接运与条件连接的区别在于

  • 自然连接要求连接的两个关系的分量必须有公共的属性名,等值连接则不要求。
  • 自然连接要求删除重复的属性,等值连接则不要求,