我正在尝试找出执行BCNF分解的正确步骤。我找到了这个例子,但我不明白如何执行正确的步骤。
模式= (A,B,C,D,E,F,G,H) FD's + {A -> CGH,AD->C,DE->F,G->G}
谁能告诉我正确的步骤?
发布于 2010-12-07 01:51:57
使用FD确定最小覆盖范围:
{A -> C, A -> G, A -> H,
B -> nothing,
C -> nothing,
D -> nothing,
E -> nothing,
F -> nothing
G -> nothing
H -> nothing
DE -> F}注AD -> C退出是因为A单独决定了C,这意味着D在FD中是多余的(参见阿姆斯特朗的公理-增强)。
3NF和BCNF定义涉及复合键的依赖关系。这里唯一的复合键是DE。D和E都不会参与任何其他非空FD,因此消除传递依赖并确保依赖属性依赖于“键,整个键,除了键之外什么都不是”在这里不是问题。
拆分关系,使FD左侧为键,右侧为该键的非键相关属性:
[Key(A), C, G, H]
[Key(D, E), F]现在把这些属性从封面上去掉,剩下的就是独立的关系。
[Key(B)]这应该在3NF/BCNF中
https://stackoverflow.com/questions/4368271
复制相似问题