在关系R(A1, A2, A3)和S(A1, A3, A4)上进行关系运算的4个等价的表达式E1、E2、E3和E4如下所示:
如果严格按照表达式运算顺序,则查询效率最高的是( ),将该查询转换为等价的SQL语句为: SELECT A1, A4 FROM R,S WHERE( )。
问题1选项
A.E1
B.E2
C.E3
D.E4
问题2选项
A.R.A2 <‘2022’ OR S.A4 =‘95’
B.R.A2 <‘2022’AND S. A4 =‘95’
C.R.A2 <‘2022’OR S.A4 = ‘95’OR R.A3=S.A3
D.R.A2 <‘2022’AND S.A4 =‘95’AND R.A3=S.A3
第1题:
第一空为关系代数表达式查询问题,相同结果下,自然连接的效率优于笛卡尔积。
备选答案中,E1和E2为自然连接,故优先选择A、B选项。E3和E4缺少了R.A1=S.A1这个等值条件。
优化SQL语句,减少比较次数是提高查询效率的有效方法。
A选项和B选项相比,B选项将可以对子表做的操作先做了,再做连接,最后投影,这是效率最高的一种方法。
第二问是要指定连接的条件:选择运算的连接条件为:R.A2='2022' AND S.A4='95', 同时需要进行自然连接运算,因此条件中需要R.A3 =S.A3 ,因此:该题要选 R.A2 < ‘2022’ AND S.A4 = ‘95’ AND R.A3=S.A3
第2题: