返回
当前 - 选择题 - 函数依赖与候选键题号:0020250500052
单选题
2025年5月第52题
题号:0020250500052
单选题
2025年5月第52题
函数依赖与候选键
简单
中频
收藏
分享
反馈
给出关系模式:R(a, b, c, d) 和函数依赖集合 a → cd,c → b,候选键是(a)。
问题(1)
浓缩知识点
候选键是关系模式中可唯一标识每个元组且无冗余属性的属性或属性组,判断候选键常用两种方法:一是属性闭包法,从目标属性(组)出发,依据函数依赖不断推导添加可确定的属性,若最终得到的属性集合覆盖关系的全部属性,且该属性(组)的任意真子集无法达成此效果,即为候选键;二是有向图法,将各属性设为节点,函数依赖x→y对应从x指向y的有向边,若某属性(组)能遍历所有节点,且其真子集不满足该条件,就是候选键。实际判断时,可优先关注仅出现在函数依赖左部的属性,这类属性无法被其他属性推导,通常是候选键的核心组成部分。
正确答案
A
本题考察的是候选键的判断。
方法 1:利用属性闭包法。通过计算属性闭包可以发现,只有 a 的闭包能覆盖所有属性,因此它是关系 R 的候选键。
我们先求 a⁺(a的属性闭包): a → c,d ,得到 a⁺ 初始为 {a},由于 a → c,d,加入 c,d 到闭包,可以得到 a⁺ = {a, c, d},再看 c → b,c ∈ a⁺,所以可推出 b 也可以加入闭包,最终:a⁺ = {a, b, c, d} = R 的所有属性所以,a 是候选键 。
方法 2:用有向图的方式直观地表示函数依赖关系。可以看到从 a 出发能够遍历所有节点,所以 a 是候选码。

