题目
关系R和S如下图所示,试计算R÷S中有几个元组[1]。 R A B C D a b c d a b e f a b h k b d e f b d d l c k c d c k e f S C D c d e fA. 1B. 2C. 3D. 4
关系R和S如下图所示,试计算R÷S中有几个元组[1]。 R A B C D a b c d a b e f a b h k b d e f b d d l c k c d c k e f S C D c d e f
- A. 1
- B. 2
- C. 3
- D. 4
题目解答
答案
B
解析
关系除法运算是数据库理论中的核心操作,用于找出关系R中满足特定条件的元组。本题的关键在于理解除法运算的定义:
- 确定相关属性:S的属性为C、D,因此R÷S的结果属性为R中除去C、D后的属性(即A、B)。
- 包含性判断:对于R中每个A、B的组合,其对应的C、D值集合必须包含S中所有C、D的组合。
破题关键:
- 分组遍历:按A、B分组,统计每组的C、D值是否覆盖S中的所有组合。
- 排除干扰项:注意排除C、D值不完整的A、B组合。
步骤1:提取S的C、D组合
S的元组为:
C | D |
---|---|
c | d |
e | f |
因此,S的C、D组合为{(c,d), (e,f)}。
步骤2:按A、B分组R的元组
R的元组按A、B分组如下:
- (a,b):对应C、D为{(c,d), (e,f), (h,k)}
- (b,d):对应C、D为{(e,f), (d,l)}
- (c,k):对应C、D为{(c,d), (e,f)}
步骤3:判断每组是否包含S的所有组合
- (a,b):包含{(c,d), (e,f)} → 满足条件
- (b,d):缺少(c,d) → 不满足
- (c,k):包含{(c,d), (e,f)} → 满足条件
结论:满足条件的A、B组合有2个,即(a,b)和(c,k)。