[英]BCNF Decomposition
I am trying to figure out the correct steps in performing a BCNF decomposition. 我试图找出执行BCNF分解的正确步骤。 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} 模式=(A,B,C,D,E,F,G,H)FD's + {A - > CGH,AD-> C,DE-> F,G-> G}
Could someone show the correct steps? 有人可以显示正确的步骤吗?
Determine a minimal cover using your FD's: 使用您的FD确定最小封面:
{A -> C, A -> G, A -> H,
B -> nothing,
C -> nothing,
D -> nothing,
E -> nothing,
F -> nothing
G -> nothing
H -> nothing
DE -> F}
Note AD -> C
drops out because A
alone determines C
which implies D
is redundant in the FD (see Armstrong's Axioms - Augmentation). 注
AD -> C
滴出,因为A
单独确定C
这意味着D
是在FD冗余(见Armstrong的公理-增强)。
3NF and BCNF definitions relate to dependencies about compund keys. 3NF和BCNF定义涉及有关复合密钥的依赖关系。 The only compound key you have here is
DE
. 你在这里唯一的复合键是
DE
。 Neither D
or E
participate in any other non-null FD's so 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. D
或E
都不参与任何其他非零FD,因此消除传递依赖性并确保依赖属性依赖于“密钥,整个密钥,除密钥之外的其他任何东西”不是问题。
Break into relations so that the FD left hand side is the key and the right hand sides are the non-key dependent attributes of that key: 分成关系,以便FD左侧是键,右侧是该键的非键依赖属性:
[Key(A), C, G, H]
[Key(D, E), F]
Now eliminate these attributes from the cover, whatever is left are standalone relations. 现在从封面中消除这些属性,剩下的就是独立的关系。
[Key(B)]
This should be in 3NF/BCNF 这应该是3NF / BCNF
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.