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