各位学员大家好,大家在学习数据库关系代数运算时,感觉很多符号都不认识,具体的运算也有其先后顺序,为了让大家快速掌握这方面的知识点,接下来就带领大家一起来学习一下!
若有关系R(A,B,C,D,E)和S(B,C,F,G),则R与S自然联接运算后的属性列有(1 )个?与表达式

等价的SQL语句如下:
SELECT (2 ) FROM (3 ) WHERE (4 );
1、A、5 B、6 C、7 D、9
2、A、A,R.C,F,G
B、A,C,S.B,S.F
C、A,C,S.B,S.C
D、R.A,R.C,S.B,S.C
3、A、R B、S C、RS D、R,S
4、
A、R.B = S.B AND R.C = S.C AND R.C < S.B
B、R.B = S.B AND R.C = S.C AND R.C < S.F
C、R.B = S.B OR R.C = S.C OR R.C < S.B
D、R.B = S.B OR R.C = S.C OR R.C < S.F
【昊洋详解】:这道题目一方面考察了数据库关系代数运算的知识,另一方面也考察了SQL语句的应用。首先我们应该明确以下基本的概念:
1、投影:该运算是从关系的垂直方向进行运算,在关系R中选出若干属性列A组成新的关系,一般用专用符号π来表示。
2、选择:该运算是从关系的水平方向进行运算,是从关系R中选择满足给定条件的元组,一般用专用符号σ来表示。
3、自然连接:自然连接是一种特殊的等值连接,它会把重复列消除,一般用专用符号“⨝”来表示。那么什么是等值连接呢?等值连接是从关系R与S的广义笛卡儿积中选取A、B属性值相等的元组。我们知道笛卡儿积是域上的一种集合运算,自然连接一定是等值连接,等值连接不一定是自然连接。那么等值连接和自然连接的区别到底有哪些呢?我们列举如下:
a:等值连接中不要求相等属性值的属性名相同,而自然连接要求相等属性值的属性名必须相同,即两个关系只有在同名属性才能进行自然连接。
b:等值连接不将重复属性去掉,而自然连接去掉重复属性,也就是说,自然连接是去掉重复列的等值连接。
了解了这些概念后,题目的解题思路也就显而易见了。在表达式中,自然联结R ⨝ S运算后去掉右边重复的属性列名S.B,S.C后为:R.A,R.B,R.C,R.D,R.E,S.F和S.G,所以第一空的正确答案为C。
投影就是从关系R中选出若干属性列组成新的关系。表达式的含义为:从R ⨝ S结果集中选取R.C<S.F的元组,再进行A,R.C,F和G的投影。所以第二空的正确答案为A,第三空的正确答案为D。第四空的正确答案为B,因为自然联结R ⨝ S需要用条件“WHERE R.B=S.B AND R.C=S.C”来限定,选取运算需要用条件“WHERE R.C<S.F”来限定。
综上所述,该题正确答案为:1-C 2-A 3-D 4-B
巩固练习题
(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
(2)若关系R、S如下图所示,则R与S自然连接后的属性列数和元组个数分别为(1 );π1,4(σ3=6(R×S))=(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))
练习题请大家先自己去做,也欢迎大家把答案留言,张老师会给大家判别正误。
作者唯一官方个人微信公众号(昊洋与你一起成长):HYJY20180101
写于2020年7月30日
作者:昊洋讲师
版权所有,侵权必究
网友评论