简体   繁体   English

BCNF分解

[英]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. DE都不参与任何其他非零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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM