扫一扫二维码
进群一起备考
查看更多
当前 - 选择题 - 数据库理论简单
单选题
2017年5月第34题
简单
单选题
2017年5月第34题
#第二版教材
#必须掌握
R(A1,A2,A3) 和S(A2,A3,A4 ) 上进行关系运算,与该关系表达式等价的是 (问题1) 。该关系代数表达式转换为等价的 SQL 语句如下:SELECT A1,A4 FROM R, S WHERE R. A2 <'2017' (问题2)
浓缩知识点
关系代数中,包含筛选条件的多表关联运算可遵循“先单表筛选、后多表关联、最后投影列”的等价转换逻辑:先通过选择操作针对单个关系筛选符合条件的元组,对应SQL中WHERE子句里的单表过滤条件;再对筛选后的结果做笛卡尔积,对应SQL的FROM子句并列多个表;接着添加等值连接条件,自然连接本质是基于同名属性的等值连接,会自动去重同名属性,对应SQL中WHERE子句的多表关联等值条件;最后通过投影操作提取目标列,对应SQL的SELECT指定列。转换过程中需注意逻辑运算符优先级,AND优先级高于OR,多条件组合时要保证逻辑关系准确,避免歧义。此外,关系运算优化时,优先执行单表选择操作能大幅减少后续笛卡尔积处理的数据量,提升运算效率,这也是数据库查询优化器的常用策略之一。
正确答案
D
此题考察数据库关系运算相关概念。
先看问题 1:
- A: :使用了连接运算,不合题意。
- B: :属性编号错了,
σ₃(S)应该是σ₆(S)。 - C::投影了第 4 个属性,而我们需要的是第 6 个属性(A4)。
- D: :正确,将两个选择分别作用于 R 和 S,再取笛卡尔积,然后在等值连接,最后投影出 A1 和 A4。
等价的 SQL 就是
SELECT A1, A4
FROM R, S
WHERE R.A2 < '2017' AND S.A4 = '95' AND R.A2 = S.A2 AND R.A3 = S.A3
再看问题 2:
S.A4 = '95'是对 S 的筛选条件R.A2 = S.A2 AND R.A3 = S.A3是自然连接的条件
选择选项 C。
