1
大学信息技术基础教程
1.2.6.3.2 6.3.2 专门的关系运算

6.3.2 专门的关系运算

1)选择(selection)

选择运算是指从关系R中选择满足给定条件的所有元组,记作:

σF(R)={t|t∈R∧F(t)='真'}

F表示选择条件,选择运算就是从R中提取能够使F条件成立的元组,是从行的角度进行的运算。投影结果会取消重复的元组。

如:以下是对学生表Student(Sno,Sname,Ssex,Sage,Sdept)中的数据进行选择运算:

Student

img123

[例1]查询性别为男的全体学生。

σSsex='(Student)

结果为:

img124

[例2]查询年龄小于19岁的全体学生。

σSage<19(Student)

img125

2)投影(projection)

关系R上的投影是从R中选择出若干属性列组成新的关系,是从列的角度进行的运算。投影的结果会取消重复的行。

记作ΠA(R)={t[A]|t∈R},其中A为R中的属性列。

[例3]查询Student表中所有学生的学号和姓名。

ΠSno,Sname(Student)

结果为:

img126

[例4]查询Student表中所有的学生都分布在哪些系。

ΠSdept(Student)

结果为:

img127

3)连接(join)

连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:

img128

其中,θ为比较运算符,A和B分别为R和S上度数相等且可比的属性组。连接运算是从R和S的笛卡尔积中选取R中的A属性组和S中的B属性组满足θ条件的元组。

连接运算中有两种最为重要的连接,一种是等值连接,一种是自然连接。

等值连接是指从关系R和S的笛卡尔积中选取A、B属性值相等的那些元组,即θ为“=”的连接运算。用公式表示如下:

img129

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。用公式表示如下:

img130

如:对于以下两个关系R和S

img131

img132的结果分别如下:

img133

img134

4)除(division)

设有关系R和S,R能被S除的条件是R中要包含有S中的属性。

R除以S的商T的属性由R中那些不出现在S中的属性组成,其元组则由S中出现的所有元组在R中所对应的相同值所组成。记作:

img135

如:已知有如下R和S

img136

则R÷S的结果为{a1},因为在R中,当属性列A的值为a1时,其属性列B的值包含了S中属性列B中的所有值。