0

声明 - “如果一个表只包含一个候选键,则 3NF 和 BCNF 是等价的。”
在下图中,关系是 3nf 但不是 bcnf。但它只有一个候选键,即 AB,所以根据上面的说法,它应该是 (3nf, bcnf) 或什么都不是。有人可以解释我在这里缺少什么吗? 在此处输入图像描述

4

2 回答 2

0

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

AB->C

AB->D

C->B

在上述关系中,A,B,C 是主要属性,D是非主要属性

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

3NFBCNF的条件

X->Y

对于 BCNF,无论Y是素数还是非素数属性, X都应该是超级键

对于 3NF,只有当 Y不是素数时, X才应该是超级键,否则它是可选

 BCNF and 3NF are equivalent when there are no **non-prime** attributes

希望能帮助到你。

于 2015-05-09T12:09:40.430 回答
0

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

后半部分,“3NF 和 BCNF 是等价的”,没有任何意义。你认为这意味着什么?正常形式是不同的东西。BCNF 要求比 3NF 更严格的条件。因此,当一个关系在 BCNF 中时,它也必须在 3NF 中。所以一个关系可以同时是两种范式。

大概这句话是想说,“如果一个表只包含一个候选键”,那么如果它在 3NF 中,那么它也在 BCNF 中。这是正确的,因为在 3NF 但不在 BCNF 中的表必须具有重叠的 CK(候选键)。这里的CK,即确定所有不包含较小此类集的属性的属性集是AB 和AC。哪个重叠。该表在 3NF 中,但不在 BCNF 中。

(请注意,持有的 FD 不仅是明确告诉您持有的,而且是根据 Armstrong 公理必须持有的所有 FD。)

于 2017-04-27T17:25:27.150 回答