首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BCNF和3NF等价的条件

BCNF和3NF等价的条件
EN

Stack Overflow用户
提问于 2015-05-03 06:29:25
回答 2查看 1.9K关注 0票数 0

语句--“如果表只包含一个候选键,则3NF和BCNF是等效的。”

在下面的图像中,关系是3nf,而不是bcnf。但是它只有一个候选键,即AB,所以根据上面的声明,它要么是(3nf,bcnf),要么是空的。有人能解释一下我在这里错过了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2015-05-09 12:09:40

在简单的单词中,给定的单词可以写成

AB->C AB->D C->B

在上述关系中,A,B,C是素数属性,D是非素数属性。

在这里,AB和AC是最小的超级键

3NFBCNF的条件

X->Y 对于BCNF,X应该是超级键,无论Y是素数还是非素数属性。 对于3NF,只有当Y是非素数的Y时,X才应该是超级键,否则是可选的1。

代码语言:javascript
复制
 BCNF and 3NF are equivalent when there are no **non-prime** attributes

希望能帮上忙。

票数 0
EN

Stack Overflow用户

发布于 2017-04-27 17:25:27

“如果表只包含一个候选键,则3NF和BCNF等效。”

下半场,“3NF和BCNF是等价的”,并不意味着什么。你觉得这意味着什么?正常的形态是不同的东西。BCNF需要比3NF更多的限制性条件。因此,当关系在BCNF中时,它也必须在3NF中。因此,一个关系可以同时以两种范式存在。

这句话大概是想说,“如果一个表只包含一个候选键”,那么如果它在3NF中,那么它也是在BCNF中。这是正确的,因为一个表在3NF中,而不是在BCNF中,必须有重叠的CKs (候选键)。这里,确定所有不包含较小的属性集的属性集是AB & AC。重叠的地方。这张表是3NF格式的,但它不在BCNF中。

(请注意,持有的FDs不仅仅是被明确告知hold的FDs,还包括当它们按照Armstrong的公理执行时必须保持的所有FDs。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30010923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档