返回
当前 - 选择题 - 函数依赖与候选键
题号:0120210500032
单选题
2021年5月第32题

给定关系模式R(U ,F),其中:属性集U={A,B,C,D,E,G},函数依赖集F={A→BC,C→D,A→D,E→G}。关系R中(有1个候选码AE), 函数依赖集F中(存在传递依赖,并且存在冗余函数依赖A→D)。

浓缩知识点

候选码是可唯一确定关系中所有属性的最小属性集合,判定核心方法为属性闭包法:计算某属性集的闭包,若闭包等于关系的全体属性集,且该属性集的任意真子集的闭包都无法覆盖全属性,则此属性集为候选码,一个关系模式可能存在一个或多个候选码。传递函数依赖指当存在X→Y、Y→Z,且Y不函数依赖于X、Z不属于Y时,X对Z的依赖为传递依赖,这类依赖会引发数据冗余与更新异常问题。冗余函数依赖是指函数依赖集中可由其他依赖推导得出的依赖,这类依赖的存在不会增强依赖集的蕴涵能力,属于可移除的冗余项。这些概念是关系数据库规范化设计的核心基础,比如消除非主属性对候选码的传递依赖、移除冗余依赖是实现第三范式(3NF)的关键,能有效优化数据库结构,降低数据冗余和异常风险。

正确答案
B

本题考察的是候选码的判定与属性闭包计算。计算闭包可快速判定候选码的最小超码。
问题 1:
以AE为例,AE⁺:由A→BC、A→D可得A、B、C、D;由E→G可得G,连同E本身,AE⁺={A,B,C,D,E,G}=U,且A⁺={A,B,C,D}不含E、G,E⁺={E,G}不含A、B、C、D,故AE为最小超码,即候选码。
A选项有1个候选码A:A⁺={A,B,C,D},缺少E、G,不是超码,错误。
B选项有1个候选码AE:AE⁺=U且最小,正确。
C选项有2个候选码AC和AE:AC⁺由A→BC、A→D得{A,B,C,D},缺E、G,不是候选码,错误。
D选项有2个候选码CE和AE:CE⁺由C→D、E→G得{C,E,D,G},缺A、B,不是候选码,错误。
因此选B。

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