博伊斯-科德范式 (BCNF)

来源:这里教程网 时间:2026-02-28 17:16:06 作者:

博伊斯-科德范式 (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}

由于我们在关系。

相关推荐