查看更多
当前 - 选择题 - 数据库理论
简单
单选题
2021年5月第32题
#第二版教材
#必须掌握

给定关系模式R(U ,F),其中:属性集U={A,B,C,D,E,G},函数依赖集F={A→BC,C→D,A→D,E→G}。关系R中 (问题1) , 函数依赖集F中 (问题2)

浓缩知识点

候选码是可唯一确定关系中所有属性的最小属性集合,判定核心方法为属性闭包法:计算某属性集的闭包,若闭包等于关系的全体属性集,且该属性集的任意真子集的闭包都无法覆盖全属性,则此属性集为候选码,一个关系模式可能存在一个或多个候选码。传递函数依赖指当存在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。

问题 2:
考察的是传递依赖与冗余函数依赖的判定。由A→C且C→D可推出A→D,说明在F的蕴涵下存在传递依赖A→D;而F中又显式给出了A→D,这条依赖可由其他依赖推得,因此是冗余的。
A选项存在传递依赖,但不存在冗余函数依赖:传递依赖存在,但A→D是冗余,否定后半句,错误。
B选项既不存在传递依赖,也不存在冗余函数依赖:与事实不符,错误。
C选项存在传递依赖,并且存在冗余函数依赖A→D:符合A→C、C→D ⟹ A→D且A→D已在F中的事实,正确。
D选项不存在传递依赖,但存在冗余函数依赖A→D:传递依赖确实存在,错误。
因此,选C。

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