BCNF最大限度地減少冗餘並提高數據完整性
Boyce-Codd Normal Form(BCNF)的目標是通過組織關係數據庫的列和表來實現數據庫規範化,從而提高數據完整性 。 數據庫規範化發生在表之間存在建立關係時以及表具有定義的規則以使數據庫更靈活並保留數據時。
數據庫規範化的目標是消除冗餘數據並確保數據依賴性有意義。
如果相同的數據未存儲在多個表中,並且只有相關數據存儲在表中,則數據庫會被標準化。
博伊斯 - 科德範式的起源
遵循一系列準則確保數據庫正常化。 這些準則被稱為正常形式,編號從1到5。 如果關係數據庫符合前三種形式:1NF,2NF和3NF,則將其描述為標準化。
BCNF是1974年由Raymond Boyce和Edgar Codd作為第三範式或3NF的延伸而創建的。 這些人正在努力創建數據庫模式,以減少計算時間為目標來最小化冗餘。 除了符合第一個和第二個正常形式的指導原則之外,第三個正常形式刪除不依賴於主鍵的列。 BCNF有時被稱為3.5NF,它滿足3NF的所有要求,並且要求候選密鑰不依賴於表中的其他屬性。
BCNF創建時,Boyce是結構化英語查詢語言(Structured English Query Language,SQL)的關鍵開發人員之一,他使用Codd的關係模型改進了數據檢索。 在這個模型中,Codd認為可以減少數據庫的結構複雜性,這意味著查詢可能更加強大和靈活。
利用他的關係數據庫見解,Codd定義了1NF,2NF和3NF指導原則。 他與Boyce合作確定BCNF。
候選鍵和BCNF
候選鍵是表中的列或列組合,在數據庫中形成唯一鍵。 屬性的組合可用於識別數據庫記錄而不用引用任何其他數據。 每個表可以包含多個候選鍵,其中任何一個都可以作為主鍵。 一個表只包含一個主鍵。
候選鍵必須是唯一的。
如果每個行列式都是候選關鍵字,則BCNF中存在關係。 考慮存儲員工信息的數據庫表,並具有
在此表中,字段
員工ID | 名字 | 姓 | 標題 |
13133 | 艾米莉 | 工匠 | 經理 |
13134 | 吉姆 | 工匠 | 關聯 |
13135 | 艾米莉 | 瓊斯 | 關聯 |
該數據庫的候選鍵是