BC 正規化的全名是: Boyce Codd normal form 簡稱 BCNF,以下將會使用 BCNF 來稱呼。
BCNF 的前提條件是符合第三正規化,並且 所有非主鍵屬性完全依賴於資料表的主鍵,並且只依賴於主鍵,而不是依賴於非主鍵或是主鍵的一部份。
直接看範例:
上表是課程編號和學期組合成的複合主鍵,但是在這個例子中教師總是在同一個辦公室,所以教師依賴於辦公室,依賴主鍵的一部份,不符合 BCNF
要符合 BCNF 的話我們可以把它拆分為下面兩張表:
延伸閱讀: 資料庫正規化介紹(1NF, 2NF, 3NF)
參考資料:
Wiki - Database normalization
A Simple Guide to Five Normal Forms in Relational Database Theory
Wiki - Fourth normal form
BCNF 的前提條件是符合第三正規化,並且 所有非主鍵屬性完全依賴於資料表的主鍵,並且只依賴於主鍵,而不是依賴於非主鍵或是主鍵的一部份。
直接看範例:
課程編號 | 學期 | 授課教師 | 辦公室位置 |
---|---|---|---|
C001 | 上學期 | 高老師 | 教學大樓 101 |
C001 | 下學期 | 高老師 | 教學大樓 101 |
C002 | 上學期 | 高老師 | 教學大樓 101 |
C003 | 上學期 | 王老師 | 自強大樓 301 |
C004 | 上學期 | 王老師 | 自強大樓 301 |
C005 | 上學期 | 林老師 | 自強大樓 302 |
上表是課程編號和學期組合成的複合主鍵,但是在這個例子中教師總是在同一個辦公室,所以教師依賴於辦公室,依賴主鍵的一部份,不符合 BCNF
要符合 BCNF 的話我們可以把它拆分為下面兩張表:
課程表
課程編號 | 學期 | 授課教師 |
---|---|---|
C001 | 上學期 | 高老師 |
C001 | 下學期 | 高老師 |
C002 | 上學期 | 高老師 |
C003 | 上學期 | 王老師 |
C004 | 上學期 | 王老師 |
C005 | 上學期 | 林老師 |
教師辦公室位置
授課教師 | 辦公室位置 |
---|---|
高老師 | 教學大樓 101 |
王老師 | 自強大樓 301 |
林老師 | 自強大樓 302 |
延伸閱讀: 資料庫正規化介紹(1NF, 2NF, 3NF)
參考資料:
Wiki - Database normalization
A Simple Guide to Five Normal Forms in Relational Database Theory
Wiki - Fourth normal form
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com