BCNF 是第三范式 (3NF) 的擴(kuò)展,比 3NF 稍強(qiáng)。
關(guān)系 R 屬于 BCNF,如果 P -> Q 是平凡的函數(shù)依賴,P 是 R 的超鍵。
如果關(guān)系在 BCNF 中,則意味著基于函數(shù)依賴的冗余已被刪除,但一些冗余仍然存在。
讓我們看一個(gè)例子 –
| 地面 | 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 | 銀色 |
上述關(guān)系在 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 |
現(xiàn)在以上表格采用 BCNF 格式。
表的候選鍵是 Package 和 Ground
的候選鍵表是?{Ground, Begin_Time} 和?{Ground, End_Time}
由于我們?cè)?strong>關(guān)系。
以上就是博伊斯-科德范式 (BCNF)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注www.92cms.cn其它相關(guān)文章!






