1、第一正規化
如果乙個關係模式r的所有屬性都是不可分的基本資料項,則r∈1nf。
簡單的說,第一正規化就是每乙個屬性都不可再分。不符合第一正規化則不能稱為關聯式資料庫。
第一正規化(
1nf)要求資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。
若某一列有多個值,可以將該列單獨拆分成乙個實體,新實體和原實體間是一對多的關係。
在任何乙個關聯式資料庫中,第一正規化(
1nf)是對關係模式的基本要求,不滿足第一正規化(
1nf)的資料庫就不是關聯式資料庫。
2、第二正規化
滿足第二正規化(
2nf)必須先滿足第一正規化(
1nf)。
若關係模式r∈
1nf,並且每乙個非主屬性都完全函式依賴於
r的碼,則r∈
2nf;
簡單的說,是表中的屬性必須完全依賴於全部主鍵,而不是部分主鍵
.所以只有乙個主鍵的表如果符合第一正規化,那一定是第二正規化。這樣做的目的是進一步減少插入異常和更新異常。
第二正規化要求實體中沒一行的所有非主屬性都必須完全依賴於主鍵;即:非主屬性必須完全依賴於主鍵。
完全依賴:主鍵可能由多個屬性構成,完全依賴要求不允許存在非主屬性依賴於主鍵中的某一部分屬性。
若存在哪個非主屬性依賴於主鍵中的一部分屬性,那麼要將發生部分依賴的這一組屬性單獨新建乙個實體,並且在舊實體中用外來鍵與新實體關聯,並且新實體與舊實體間是一對多的關係。
3、第三正規化
滿足第三正規化必須先滿足第二正規化。
關係模式
r,f>
中若不存在這樣的碼
x、屬性組
y及非主屬性z(
z y)
, 使得
x→y,
y→z,成立,則稱
r,f>
∈3nf
。第三正規化要求:實體中的屬性不能是其他實體中的非主屬性。因為這樣會出現冗餘。即:屬性不依賴於其他非主屬性。
如果乙個實體中出現其他實體的非主屬性,可以將這兩個實體用外來鍵關聯,而不是將另一張表的非主屬性直接寫在當前表中。
參考:
一正規化 二正規化 三正規化區別
正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是 1nf,2nf,3nf,b...
資料庫正規化 一正規化 二正規化 三正規化 BC正規化
一正規化 關係模式r所有的屬性都是不可分割的,不能為組合屬性 多值屬性。一正規化是資料庫設計裡的必要條件。二正規化 非主碼的屬性集依賴於主碼屬性集,不依賴於主碼屬性集的子集 bcnf boyce bodd normal form bc正規化 在二正規化的基礎上,消除更多的冗餘。第三正規化 在bc正規...
第一正規化,第二正規化,第三正規化
第一正規化 存在非主屬性對碼的部分依賴關係 r a,b,c ab是碼 c是非主屬性 b c b決定c c部分依賴於b 第一正規化 定義 如果關係r 中所有屬性的值域都是單純域,那麼關係模式r是第一正規化的 那麼符合第一模式的特點就有 1 有主關鍵字 2 主鍵不能為空,3 主鍵不能重複,4 欄位不可以...