传统的集合运算和专门的关系运算

一、传统的集合运算
传统的集合运算是二目运算,包括并、差、交、笛卡尔积4种运算。
设关系R和关系S具有相同的目n,也就是两个关系中都有n个属性,且相应的属性取自同一个域,t是元组变量,t∈R表示t是R的一个元组。
(1)并(union)
关系R与关系S的并记作:传统的集合运算和专门的关系运算,其结果仍为n目关系,由属于R而不属于S的元组组成。
(2)差(except)
关系R与关系S的差记作:传统的集合运算和专门的关系运算,其结果仍为n目关系,由属于R而不属于S的所有元组组成
(3)交(intersection)
关系R与关系S的交记作:传统的集合运算和专门的关系运算,其结果仍为n目关系,由既属于R又属于S的元组组成,关系的交还可以用差来表示:R∩S=R-(R-S)
(4)笛卡尔积
笛卡尔积的元素是元组。两个分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合,若R有K1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有K1×K2个元组,记作:传统的集合运算和专门的关系运算
传统集合运算举例:传统的集合运算和专门的关系运算

二、专门的关系运算
专门的关系运算包括选择σ、投影π、连接∞、除运算÷等。
1.选择(restriction)
在关系R中选择满足给定条件的诸元组:
σF (R ) = {t |t ∈ R∧F (t ) = ‘真’} F:选择条件,是一个逻辑表达式,其基本形式为:X1θY1,选择运算是从关系R中选取逻辑表达式F为真的元组,从行的角度进行运算。
例如:查询信息系(IS系)全体学生: σSdept = ‘IS’ (Student)
2.投影(Projection)
从R中选择出若干属性列组成新的关系:
πA® = { t [A]| t ∈ R } A:R 中的属性列
投影操作主要是从列的角度进行运算,但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(为了避免重复行)。
例如:查询学生的姓名和所在系:πSname,Sdept(Student)

3.连接(join
连接也称为θ连接,从两个关系的笛卡尔积中选取属性间满足一定条件的元组
传统的集合运算和专门的关系运算
A 和B:分别为R 和S 上度数相等且可比的属性组
θ:比较运算符投影操作主要是从列的角度进行运算
3.1等值连接
定义:从关系R与S的广义笛卡尔积中选取A、B属性值相等的那些元组,即等值连接为:
传统的集合运算和专门的关系运算
3.2自然连接
自然连接:两个关系中进行比较的分量必须是相同的属性组,在结果中还要把重复的属性列去掉。
传统的集合运算和专门的关系运算
例如:关系R和关系S如下所示:
传统的集合运算和专门的关系运算
例如:查询选修了课程的学生学号、姓名、课程号和成绩
传统的集合运算和专门的关系运算
查询选修了课程的学生学号、姓名、课程名和成绩
传统的集合运算和专门的关系运算