首页 理论教育数据库开发教程:关系运算及其应用

数据库开发教程:关系运算及其应用

【摘要】:1.交交运算的符号为“∩”,两个关系经过交运算后,相同部分重新组成一个新的关系。表1.5集合关系表关系运算主要有3种,即选择、连接和投影。表1.9职工号连接操作结果3.投影投影是选择两个指定关系中的属性组成一个新关系,投影运算也是单目运算,它是从列的角度进行操作的。

1.5 关系运算

关系运算是关系数据库操作的实质,关系运算分为两种,即关系代数运算和关系运算。

1.5.1 关系代数运算

数据库中的代数运算和数学中的代数运算相同,就是集合的交、并、差。

1.交

交(Intersection)运算的符号为“∩”,两个关系经过交运算后,相同部分重新组成一个新的关系。例如在表1.5中,A∩B={3 4}。

2.并

并(Union)运算的符号为“∪”,两个关系经过并运算后,所有部分组成一个新的关系。例如在表1.5中,A∪B={1,2,3,4,6,7}。

3.差

差(Difference)运算的符号为“-”,表示两个关系经过差运算后,结果组成一个新的关系,新关系属于第一个关系,而不属于第二个关系。例如在表1.5中,A-C={1,3}。

表1.5 集合关系表

img10

关系运算主要有3种,即选择、连接和投影。

1.选择

选择(Select)是从指定关系中选择满足条件的元组组成一个新关系,选择运算是一种单目运算,它是从行的角度进行操作的。

一般格式如下:σf(R)

其中,σ是选择符号;F是选择条件,它是逻辑表达式,取值为真”或“假”。运算符有逻辑运算符和算术运算符。逻辑运算符包括逻辑与运算符(∧)、逻辑或运算符(∨)和逻辑非运算符(┐);算术运算符包括小于(<)、等于(=)、大于(>)、小于等于(≤)、大于等于(≥)和不等于(≠)。

【例1.1】在职工基本情况表(见表1.2)中查询男职工的所有信息。

σ性别=男(职工基本情况表)

结果如表1.6所示。

表1.6 男职工的信息表

img11

【例1.2】在学生基本情况表(见表1.4)中查询课程大学英语的学生信息。

σ课程=大学英语(学生基本情况表)

结果如表1.7所示。

img12(www.chuimin.cn)

【例1.3】在职工授课情况表(见表1.3)和学生基本情况表(见表1.4)中查询职工号为100205的职工授课所对应的学生选课情况。

σ职工授课情况表.学生基本情况表=职工授课情况表.职工号∧学生基本情况表.学号(职工基本情况表×学生基本情况表)

结果如表1.8所示。

表1.8 学生选课情况选择操作结果

img13

2.连接

连接(Join)是在两个指定的关系中将满足条件的元组连接在一起组成一个新关系。连接运算是一个二目运算,是从两个关系R和S的广义笛卡尔积中选取满足一定条件的元组。连接分为等值连接(Equal join)和自然连接(Natural join)两种。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,而且把重复的属性列删除,所以自然连接是同时从行和列的角度进行操作的。

常用的是自然连接,一般格式如下:

img14

其中,R和S表示两个关系名;i和j表示两个关系的属性名;θ可以为<、>和=,分别表示小于连接、大于连接和等于连接。【例1.4】在职工基本情况表(见表1.2)和职工授课情况表(见表1.3)中进行连接操作。

职工基本情况表img15职工授课情况表

结果如表1.9所示。

表1.9 职工号连接操作结果

img16

3.投影

投影(Projection)是选择两个指定关系中的属性组成一个新关系,投影运算也是单目运算,它是从列的角度进行操作的。

一般格式如下:

πA(R)

其中,π是投影运算符;A是选择关系R中的属性列;R是关系名。

【例1.5】在学生基本情况表(表1.4)中进行学号、姓名、性别、年龄投影操作。

π学号,姓名,性别,年龄(学生基本情况表)

结果如表1.10所示。

选择运算与投影运算的区别是选择运算是对某个关系从行的角度进行操作的,而投影运算是对某个关系从列的角度进行操作的。

表1.10 学生基本情况投影操作结果

img17