設關係模式r∈1nf,如果對於r的每個函式依賴x→y,若y不屬於x,則x必含有候選碼,那麼r∈bcnf。
即為:對於關係模式r,若 r為第一正規化,且每個屬性都不部分依賴於候選鍵也不傳遞依賴於候選鍵,那麼稱r是bc正規化。
相對於第三正規化,bc正規化的要求更加嚴格。第三正規化只是要求r為第二正規化且非鍵屬性不傳遞依賴於r的候選鍵,而bc正規化則是對r的每個屬性都做要求。
由關係模式的定義可以得到如下結論,若r屬於bcnf,則r有:
1.所有非主屬性對每乙個碼都是完全函式依賴。
2.所有的主屬性對每乙個不包含它的碼,也是完全函式依賴。
3.沒有任何屬性完全函式依賴於非碼的任何一組屬性。
由於r∈bcnf,按定義排除了任何屬性對碼的傳遞依賴與部分依賴,所以r∈3nf。但是若r∈3nf,則r未必屬於bcnf。
bc正規化能夠消除插入異常和刪除異常。
三大正規化和BC正規化
資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的 結構明晰的,同時,不會發生插入 insert 刪除 delete 和更新 update 操作異常。反之則是亂七八糟,不僅給資料庫的程式設計人員製造麻煩,而且面目可憎,可能儲存了 大量不需要的冗餘資訊。設計正規化是不是很難懂...
資料庫正規化 一正規化 二正規化 三正規化 BC正規化
一正規化 關係模式r所有的屬性都是不可分割的,不能為組合屬性 多值屬性。一正規化是資料庫設計裡的必要條件。二正規化 非主碼的屬性集依賴於主碼屬性集,不依賴於主碼屬性集的子集 bcnf boyce bodd normal form bc正規化 在二正規化的基礎上,消除更多的冗餘。第三正規化 在bc正規...
第一正規化 第二正規化 第三正規化以及BC正規化
關於函式依賴以及碼的相關知識麻煩讀者自己學習,這裡只解釋各個正規化之間的區別及定義!先來看看第一正規化,第一正規化是資料庫關係模式的基礎,換句話說,起碼必須滿足第一正規化才是正確的,那麼什麼是第一正規化呢?第一正規化就是在乙個關係模式內,不能存在還可以再分的屬性,即所有屬性都必須是簡單屬性 不能再分...