加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – BCNF分解

发布时间:2020-12-12 08:31:24 所属栏目:MsSql教程 来源:网络整理
导读:我试图找出执行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 -
我试图找出执行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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读