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