查看更多
当前 - 选择题 - 关系数据库
困难
单选题
2017年11月第8题
#第二版教材
#必须掌握

给定元组演算表达式R={t(u)(R(t)S(u)t[3]<u[2])}R^* = \{ t \mid (\exists u)(R(t) \land S(u) \land t[3] < u[2]) \},若关系 R、S 如下图所示,则(【R*={(1,2,3),(4,5,6),(7,8,9)}】)。

问题(1)
浓缩知识点

元组演算中,元组变量(如t、u)会与指定关系绑定,限定其只能取对应关系中的元组;存在量词∃的语义为,只要存在至少一个对应关系的元组满足后续逻辑条件,当前目标元组即符合筛选要求,无需所有元组都满足该条件。元组分量通过“元组变量[下标]”访问,下标通常从1开始,代表取元组的第n个属性值。对于跨关系的元组筛选表达式,最终结果是从绑定的目标关系中筛选出所有满足约束的元组,而非多关系的元组组合,因为最终仅保留目标元组的全部属性。

正确答案
C

本题考察关系数据库元组演算的选择与存在量词的使用技巧。
先看 R(t)S(u)t[3]<u[2])R(t) \land S(u) \land t[3] < u[2]) ,t 是 R 中的元组,且 u 是 S 中元组,且 t 中第三个列的数值小于 u 中第 2 个列的数值。
因此,该元组演算表达式的意思是查询关系R和关系S中所有满足 t 元组中的第三个元素小于u元组中的第二个元素的元组组合。
R(t)∧S(u) 是什么意思。t 是 R 中的元组,u 是 S 中的元组,限定了 t,u 元组的范围域。
∃u 代表只要存在一个 u 满足后面的条件就行,比如元组 (7,8,9) 第三列 9 小于 S 元组(6,10,14)中的第二列10,所以是满足条件的。
t│xxx 这里的 t 表示做 R 中元组的投影(取 R 的元素列)。

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