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 | 银色 |
功能依赖 {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 格式。
由于我们在关系。
以上是博伊斯-科德范式 (BCNF)的详细内容。更多信息请关注PHP中文网其他相关文章!