问题描述
我试图找出执行BCNF分解的正确步骤。我发现这个例子,但我不明白如何执行正确的步骤。
I am trying to figure out the correct steps in performing a BCNF decomposition. I found this example, but I do not understand how to perform the correct steps.
Schema =(A,B,C,D,E,F,G,H )
FD's + {A - > CGH,AD-> C,DE-> F,G-> G}
Schema = (A,B,C,D,E,F,G,H)FD's + {A -> CGH, AD->C, DE->F, G->G}
有人可以显示正确的步骤吗?
Could someone show the correct steps?
推荐答案
使用您的FD确定最低覆盖率:
Determine a minimal cover using your FD's:
{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
Note
AD -> C
drops out because A
alone determines C
which implies D
is redundant in the FD (see Armstrong's Axioms - Augmentation).
3NF和BCNF定义与关于密钥的依赖关系有关。这里唯一的复合键
是 DE
。 D
或 E
不参与任何其他非空FD的
,因此消除传递依赖,属性依赖于
'键,整个键,除了键之外什么都不是一个问题。
3NF and BCNF definitions relate to dependencies about compund keys. The only compound keyyou have here is
DE
. Neither D
or E
participate in any other non-null FD'sso eliminating transitive dependencies and ensuring that dependent attributes rely on the'key, the whole key, and nothing but the key' is not an issue here.
打破关系,使FD离开右侧是键,右侧是
是该键的非键依赖属性:
Break into relations so that the FD left hand side is the key and the right hand sidesare the non-key dependent attributes of that key:
[Key(A), C, G, H]
[Key(D, E), F]
$ b b
现在从封面中删除这些属性,不管是独立的关系。
Now eliminate these attributes from the cover, whatever is left are standalone relations.
[Key(B)]
这应该在3NF / BCNF
This should be in 3NF/BCNF
这篇关于BCNF分解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!