数据库的关系代数运算是软件评测师考试的重要考点,经常出现在上午场的客观选择题当中。关系操作的特点是操作对象和操作结果都是集合,常见的关系代数运算包括并、差、交、笛卡尔积、除、选择、投影和连接等。下面就该知识点并结合例题进行总结学习。
一、并运算
(1)定义:设关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组组成的集合,记为R∪S。
(2)形式:R∪S={t|t∈R∨t∈S},图示如下:
(3)实例:
二、交运算
(1)定义:设关系R和S具有相同的关系模式,R和S的交是由既属于R又属于S的元组组成的集合,记为R∩S。
(2)形式:R∩S={t|t∈R∧t ∈S},图示如下:
(3)实例:
三、差运算
(1)定义:设关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组组成的集合,记为R-S。
(2)形式:R-S={t|t∈R∧t ∉ S},图示如下:
(3)实例:
四、笛卡尔积运算
(1)定义:设关系R和S列数分别为n和m。R和S的笛卡尔积是一个(n+m)列的元组集合,每个元组的前r列来自R的一个元组,后s列来自S的一个元组,记为R×S。
(2)形式:
说明:上面的表示元组
和
拼接成的一个元组。
如果R和S中有相同的属性名,可在属性名前加关系名作为限定,以示区别。若R有K1个元组,S有K2个元组,则R和S的广义笛卡儿积有(K1*K2)个元组。
图示如下:
(3)实例:
五、选择运算
(1)定义:选择操作在关系R中选择满足给定条件所有元组。最终是筛选符合条件的行。
(2)形式:
说明:其中F(t)表示选择条件,是一个逻辑表达式,具体可以看下面的实例。
(3)实例:
六、投影运算
(1)定义:投影操作从关系R中选择出若干属性列组成新的关系,该操作对关系进行垂直分割,消去某些列,并重新安排列的顺序。其实就是选择制定的列,没有指定的列被舍弃。
(2)形式:
说明:其中A为R投影出去的属性列,t.A表示t元组中属性子集A所对应的列组成的子元组。
(3)实例:
七、连接运算
(1)定义:连接运算是从两个关系R和S的笛卡儿积中选取满足条件的元组。这里主要说一下等值连接和自然连接。
(2)等值连接:从两个关系R和S上选择指定属性列且值相等的行,一般会具体指定两个关系中的某一列,结果为对应列值相等的元组。等值连接在考试中很少出现,主要考自然连接。
实例:
(3)自然连接:两个关系中的比较的列必须是相同的属性组,并且在结果中把重复的属性列去掉。自然连接是一种特殊的等值连接,一般的连接操作是从行的角度进行运算,自然连接还需要消除重复的列。
实例:
八、除运算
(1)定义:设2个关系R和S的列数分别为r和s(设r>s>0),那么R÷S是一个(r-s)元的元组的集合。其实就是找关系R中对应关系S的部分,然后选取除了该部分之外的列,考试中很少涉及到,了解一下即可。
(2)实例1:
(3)实例2:
近三年该知识点没考过,大家结合以下两个练习题练习一下即可。
巩固练习题
(1)假设关系R1和R2如图所示,若进行R1 ⨝ R2运算,则结果集分别为( 1 )元关系,共有( 2 )个元组。
1、A、4 B、5 C、6 D、7
2、A、4 B、5 C、6 D、7
(1)解析:本题考查数据库系统中关系代数运算方面的基础知识。
根据题意,R1⨝R2为自然联接,自然联接是一特殊的等值联接,它要求两个关系中进行比较的分量必须是相同的属性,并且在结果集中将重复属性列去掉,R2.C和R2.D去掉,故结果为A、B、R1.C、R1.D、E、和F共计6元关系。故第一空的正确答案为:C。
第二空比较的条件为“R1.C=R2.C并且同时满足R1.D=R2.D”,从下表所示的R1XR2的结果集中可见,共有4个元组满足条件,分别是第3个、第4个、第5个和第9个元组,故第二空的正确答案为:A。
(2)若关系R、S如下图所示,则R与S自然连接后的属性列数和元组个数分别为( 1 );=( 2 )。
1、A、4和3 B、4和6 C、6和3 D、6和6
2、A、πA,D(σC=D(R×S))
B、πA,R.D(σS.C=R.D(R×S))
C、πA,R.D(σR.C=S.D(R×S))
D、πR.A,R.D(σS.C=S.D(R×S))
(2)解析:本题考查关系运算方面的基础知识,根据自然连接要求,两个关系中进行比较的分量必须是相同的属性组,并且在结果中将重复属性列去掉,故R⨝S后的属性列数为4。同时,自然连接是一种特殊的等值连接,即R关系中的C、D属性与S关系中的C、D属性进行等值连接,并去掉重复属性列,其结果为:
A | B | C | D |
a | b | c | d |
a | d | g | f |
a | b | g | f |
可见R⨝S后的元组个数为3,因此第一空的正确答案是A。
R×S的6个属性列为:A、B、R.C、R.D、S.C和S.D。σ3=6 (R×S)表示R与S关系进行笛卡儿积后,选取第3个属性等于第6个属性的元组,即选取R.C等于S.D的元组。π1,4(σ3=6(R×S))表示从σ3=6 (R×S)的结果中投影第1个和第4个属性列,即投影A和R.D属性列,因此第二空的正确答案是C。
作者唯一官方个人微信公众号(昊洋与你一起成长):HYJY20180101
写于2021年9月15日
作者:昊洋讲师
版权所有,侵权必究