BCNF分解示例
例1:给定关系 R(U)=r(A, B, C),函数依赖集 F={AB→C, C→A}。
判断R(U) 是否属于 BCNF范式:
由于候选码为 AB 或 BC,因此决定属性 C 不是候选码,所以 R(U)∉BCNF。
BCNF分解过程:
- 分解为:
1. R1(U1)=R1(A, C),F1={C→A}
- 在关系 R1 中,C 是候选码。
2. R2(U2)=R2(B, C),F2={∅}
- 在关系 R2 中,BC 是候选码。
分解后的 R1(U1) 和 R2(U2) 都属于 BCNF,无需进一步分解。
注意:在分解后,函数依赖关系 AB→C 被丢失!