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 被丢失!