BCNF分解 [英] BCNF Decomposition

查看:176
本文介绍了BCNF分解的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图找出执行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 key you have here is 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.

打破关系,使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:

[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分解的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆