1nf:資料庫表中的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。
2nf:關係模型r滿足inf,消除部分依賴,每乙個非主屬性完全依賴於任何乙個候選碼。舉個例子,選課關係表(學號,課程號,分數,學分),其中(學號,課程號)是關鍵碼,但是存在學分依賴於課程號這樣部分依賴的關係就不符合第二正規化的要求。
3nf:關係模型r滿足第二正規化,消除非主屬性傳遞依賴,每個非主屬性既不部分依賴也不傳遞依賴於主碼。
bcnf
:關係模型滿足第二正規化,消除所有屬性傳遞依賴(包括主屬性)。例如:(s,j)->t,(s,t) ->j,t -> j, (s,j)、(s,t)、t三個都是候選碼,但是其中存在傳遞依賴,所以不屬於bcnf
4nf:符合bcnf,消除多值依賴。例如,職工表(職工編號,職工孩子姓名,職工選修課程),在這個表中,同乙個職工可能會有多個職工孩子姓名,同樣,同乙個職工也可能會有多個職工選修課程,即這裡存在著多值事實,不符合第四正規化。如果要符合第四正規化,只需要將上表分為兩個表,使它們只有乙個多值事實,例如職工表一(職工編號,職工孩子姓名),職工表二(職工編號,職工選修課程),兩個表都只有乙個多值事實,所以符合第四正規化。
資料庫設計正規化
目前關聯式資料庫有六種正規化 第一正規化 1nf 第二正規化 2nf 第三正規化 3nf 第四正規化 4nf 第五正規化 5nf 和第六正規化 6nf 滿足最低要求的正規化是第一正規化 1nf 在第一正規化的基礎上進一步滿足更多要求的稱為第二正規化 2nf 其餘正規化以次類推。一般說來,資料庫只需滿...
資料庫設計正規化
前言 為什麼要寫這篇文章呢,從去年年底開始,就和很多做技術的朋友交流過,從資料庫設計到資料庫架構各個方面的內容。有一些朋友執著於orm,執著於所謂的資料庫設計,卻忘記了一切技術是要為業務服務這個基石。當然這文章裡也有一些自己的理解,想向大家表達。正規化是什麼 正規化是符合某一種級別的關係模式的集合。...
資料庫正規化設計
在軟體開發過程中,資料庫的設計是非常重要的。可以說,良好的資料庫設計,是對使用者需求的理解的精準定位。它不僅能夠使得軟體開發起來非常便捷,而且還能夠使軟體系統高效執行,同時,為日後的維護或者更換資料庫提供便利。在最近開發系統的過程中,感覺收穫最大的也是關於資料庫的操作。最初開發機房收費系統的時候,由...