数据库BCNF判定问题求解:关系R(A,B,C,D)是否满足BCNF?
数据库BCNF判定问题解答
解题步骤:
1. 确定关系R的候选键
关系R(A,B,C,D),函数依赖集F={AB->C, AC->B, BC->AD},通过计算属性集闭包判断候选键:
- AB的闭包:AB→C,得到ABC;又因BC→AD,ABC包含BC,可推导出AD,最终
AB⁺=ABCD,覆盖所有属性,因此AB是候选键。 - AC的闭包:AC→B,得到ACB;BC→AD,ACB包含BC,可推导出AD,最终
AC⁺=ABCD,覆盖所有属性,因此AC是候选键。 - BC的闭包:BC→AD,直接得到
BC⁺=ABCD,覆盖所有属性,因此BC是候选键。
2. 对照BCNF判定规则验证
BCNF的核心规则:对于关系中所有非平凡函数依赖X→Y,X必须是关系的超键(候选键属于超键的子集)。
逐一验证F中的函数依赖:
AB->C:左部AB是候选键(超键),符合规则。AC->B:左部AC是候选键(超键),符合规则。BC->AD:左部BC是候选键(超键),符合规则。
所有函数依赖均满足BCNF要求,因此关系R属于BCNF。
最终答案
选项C:Yes
内容的提问来源于stack exchange,提问作者Raj Kumar
相关产品推荐
相关产品推荐

