登录
首页 >  数据库 >  MySQL

博伊斯-科德范式 (BCNF)

来源:tutorialspoint

时间:2023-08-29 07:58:24 286浏览 收藏

目前golang学习网上已经有很多关于数据库的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《博伊斯-科德范式 (BCNF)》,也希望能帮助到大家,如果阅读完后真的对你学习数据库有帮助,欢迎动动手指,评论留言并分享~

BCNF 是第三范式 (3NF) 的扩展,比 3NF 稍强。

关系 R 属于 BCNF,如果 P -> Q 是平凡的函数依赖,P 是 R 的超键。

如果关系在 BCNF 中,则意味着基于函数依赖的冗余已被删除,但一些冗余仍然存在。

让我们看一个例子 -

地面

Begin_Time

End_Time

封装

G01

07:00

09:00

金色

G01

10:00

12:00

金色

G01

10:30

11:00

青铜

G02

10:15

11:15

银色

G02

08:00

09:00

银色

上述关系在 1NF、2NF、3NF 中,但不在 BCNF 中。原因如下:

功能依赖 {Package->Ground}

它具有决定性属性 Package on which Ground取决于既不是候选键也不是候选键的超集。

封装

地面

金色

G01

银色

G02

青铜

G01

地面

Begin_Time

End_Time

G01

07:00

09:00

G01

10:00

12:00

G01

10:30

11:00

G02

10:15

11:15

G02

08:00

09:00

现在以上表格采用 BCNF 格式。

表的候选键是 Package 和 Ground

的候选键表是 {Ground, Begin_Time} {Ground, End_Time}

由于我们在关系。

今天带大家了解了的相关知识,希望对你有所帮助;关于数据库的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:tutorialspoint 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>