-3

对于我在一月份要复习的考试,我需要了解有关 Boyce-Codd 范式的所有信息,并且可能需要写一个简短的摘要来说明它是什么。在一段左右的时间里,BCNF 到底是什么,正如我在许多网站上查看的那样,并且描述非常复杂,所以我很难理解。感谢您的任何帮助。

4

1 回答 1

-1

Boyce-Codd 范式 (BCNF) 如果对于在其上定义的每个非平凡函数依赖 Y → Z,Y 包含 R(X) 的键 K,则关系 R(X) 属于 Boyce-Codd 范式。

也就是说,Y 是 R(X) 的超级键。

示例:Person1(SI#、姓名、地址)

     The only FD is SI# → Name, Address

由于 SI# 是键,Person1 在 BCNF

如前所述,异常和冗余不会发生在具有 BCNF 关系的数据库中。

非 BCNF 示例:

人(SI#,姓名,地址,爱好)

FD SI# → Name,Address 不满足 BCNF 的条件,因为密钥是 {SSN,Hobby}

HasAccount(AcctNum,ClientId,OfficeId)

The FD AcctNum → OfficeId does not satisfy
BCNF conditions if we assume that keys for
HasAccount are {ClientId,OfficeId} and
{AcctNum,ClientId}, rather than AcctNum.

您可以参考以下链接了解详细说明。 http://www.cdf.toronto.edu/~csc343h/fall/08/lectures/wk12/wk12_BCNF2-up.pdf

希望能帮助到你..

于 2013-12-04T06:10:58.827 回答