R(A B C)
AB - > C, C - >甲
AB是最小超级密钥,它是候选密钥。 AB - > C很好。 但是C - >由于素数属性取决于非素数属性,因此A不成立。 我知道如何分解到3 NF。我也知道为什么关系不在BCNF。 但我不知道如何打破这种与BCNF的关系。
任何人都可以将此关系分解为BCNF。
答案 0 :(得分:0)
这种关系可以在BCNF中使用例如分析算法进行分解,从而产生以下分解:
R1(A, C) (with non trivial dependency C → A and candidate key C)
R2(B, C) (without non trivial dependencies and so with candidate key (B, C))
但是这种分解不会保留依赖关系:实际上,依赖关系A B → C
会丢失。因此,通过这种分解,不能简单地对分解的关系强制执行由于这种依赖性而产生的约束。并且不能产生BCNF中的其他分解,从而保持依赖性。我们还可以注意到这种关系已经在3NF。