给定关系模式R(A,B,C,D)、S(C,D,E),与π1,3,5等价的SQL语句如下: SELECT (22) FROM R,s WHERE (23) ; 下列查询B=“信息”且E=“北京”的A、B、E的关系代数表达式中,查询效率

admin2016-05-11  38

问题 给定关系模式R(A,B,C,D)、S(C,D,E),与π1,3,5等价的SQL语句如下:
    SELECT    (22)    FROM R,s WHERE  (23)  ;
下列查询B=“信息”且E=“北京”的A、B、E的关系代数表达式中,查询效率最高的是  (24)  。
(24)

选项 A、 
B、 
C、 
D、 

答案B

解析 本题考查关系代数运算与SQL查询方面的基础知识。
    试题(22)的正确答案为选项C。的含义是从结果
集中选取B=’软件工程’的元组,再进行R-A、R.C和S.E投影。
    试题(23)的正确答案为选项D。自然联结中的公共属性为C、D,所以在SQL中可以用条件“WHERE R.C=S.C AND R.D=S.D”来限定;对于选取运算σ2=’信息化’在SQL中可以用条件“WHERE B=’软件工程’来限定。
    试题(24)的正确答案为选项B。关系代数表达式查询优化的原则如下:
    ①提早执行选取运算。对于有选择运算的表达式,应优化成尽可能先执行选择运算的等价表达式,以得到较小的中间结果,减少运算量和从外存读块的次数。
    ②合并乘积与其后的选择运算为连接运算。在表达式中,当乘积运算后面是选择运算时,应该合并为连接运算,使选择与乘积一道完成,以避免做完乘积后,需再扫描一个大的乘积关系进行选择运算。
    ③将投影运算与其后的其他运算同时进行,以避免重复扫描关系。
④将投影运算和其前后的二目运算结合起来,使得没有必要为去掉某些字段再扫描一遍关系。
    ⑤在执行连接前对关系适当地预处理,就能快速地找到要连接的元组。方法有两种:索引连接法、排序合并连接法。
    ⑥存储公共子表达式。对于有公共子表达式的结果应存于外存(中间结果),这样,当从外存读出它的时间比计算的时间少时,就可节约操作时间。
    显然,根据原则①尽量提早执行选取运算。正确的选项是B。
转载请注明原文地址:https://jikaoti.com/ti/ckB7FFFM
0

最新回复(0)