看关系 R、S 如下表所示,则关系 R 与 S 进行自然连接运算后的属性列数和元组个数分别为( )。
单选题
看关系 R、S 如下表所示,则关系 R 与 S 进行自然连接运算后的属性列数和元组个数分别为( )。
A. 6 和 7
B. 4 和 4
C. 4 和 3
D. 3 和 4
答案:C
解析
正确答案是 C:属性列数为 4,元组个数为 3。
自然连接先按两个关系的公共属性做等值匹配,再去除重复的公共属性列。因此结果列数 = R 的列数 + S 的列数 - 公共属性列数,本题去重后为 4 列;元组个数则取决于公共属性取值相同的记录能组成多少组合,本题匹配得到 3 个元组。
逐项看:
A 错,6 和 7 明显不符合自然连接去重列、按公共值匹配的规则。
B 错,列数 4 正确,但元组个数 4 多计了不匹配记录。
C 对,列数 4、元组个数 3 均符合自然连接结果。
D 错,列数 3 少算,元组个数 4 也不对。
面试延伸:自然连接与等值连接的差别在于是否去掉重复公共列;若公共属性为空,自然连接会退化为笛卡尔积。