查看更多
当前 - 选择题 - 数据库理论
简单
单选题
2017年5月第34题
#第二版教材
#必须掌握

R(A1,A2,A3) 和S(A2,A3,A4 ) 上进行πA1,A4(σA2<2017A4=95(RS))\pi_{A_1, A_4}(\sigma_{A_2 < '2017' \land A_4 = '95'}(R \bowtie S))关系运算,与该关系表达式等价的是 (问题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。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有