我有关系
R = { A, B, C, D, E, F, G, H, I }
和功能依赖
F ={
ABC -> DE
E -> C
AB -> F
C -> G
F -> H
H -> IJ
F -> B
}
我可以做简单的 BCNF 分解,但我不能分解它。我有 ABC 作为唯一的候选键。然后我把它分成两个关系来摆脱第一个破坏 BCNF 的 FD E -> C
,给我关系
{ A, B, D, E, F, G, H, I, J } and { E, C }
但是现在我马上就失去了第一个关系的候选键。那么这是否意味着我现在必须为第一个关系找到一个新的候选键,然后继续分解它的过程,直到我们没有违反 BCNF 的关系?有人可以告诉我如何进行这种分解吗?
编辑:
好的,这就是我继续做的事情:
我目前有{ A, B, D, E, F, G, H, I, J }
和{ E, C }
我为更大的关系找到了一把新钥匙。这个新钥匙是ABDEG
?
然后我通过在违反 BCNF 的地方拆分关系来继续分解。以下是我采取的步骤:
{ A, B, D, E, F, G, H, I, J } // { E, C }
{ A, B, D, E, G, H, I, J } // { AB, F } // { E, C }
{ A, B, D, E, G, H, J } // { H, I } // { AB, F } // { E, C }
{ A, B, D, E, G, H } // { H, J } // { H, I } // { AB, F } // { E, C }
所以最后一行是我的最终结果。这似乎是在BCNF?我的答案是否正确,我是否正确分解?