数据库 – BCNF分解

前端之家收集整理的这篇文章主要介绍了数据库 – BCNF分解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图找出执行BCNF分解的正确步骤.我发现这个例子,但我不明白如何执行正确的步骤.

模式=(A,B,C,D,E,F,G,H)
FD的{A – > CGH,AD-> C,DE→F,G→G}

有人可以显示正确的步骤吗?

解决方法

使用您的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),H]
[Key(D,E),F]

现在从封面中消除这些属性,无论是独立的关系.

[Key(B)]

这应该在3NF / BCNF

猜你在找的MsSQL相关文章