資料庫正規化詳解

2021-08-31 06:03:34 字數 596 閱讀 2961

第一正規化:

如果每列都是不能再細分最小單元,則滿足第一正規化。

第二正規化:

在確保滿足第一正規化的基礎上,保證每一列都要和主鍵相關。

如果乙個關係滿足第一正規化,並且除了主鍵以外的其它列,都依賴於該主鍵,則滿足第二正規化.

例如:訂單表(訂單編號、產品編號、定購日期、**、……),"訂單編號"為主鍵,"產品編號"和主鍵列沒有直接的關係,即"產品編號"列不依賴於主鍵列,應刪除該列。

第三正規化:在第二正規化的基礎上更進一層,保證所有列於主鍵直接關聯而不是間接關聯。

如果乙個關係滿足第二正規化,並且除了主鍵以外的其它列都不依賴於主鍵列,則滿足第三正規化.

為了理解第三正規化,需要根據armstrong公里之一定義傳遞依賴。假設a、b和c是關係r的三個屬性,如果a-〉b且b-〉c,則從這些函式依賴中,可以得出a-〉c,如上所述,依賴a-〉c是傳遞依賴。

例如:訂單表(訂單編號,定購日期,顧客編號,顧客姓名,……),初看該錶沒有問題,滿足第二正規化,每列都和主鍵列"訂單編號"相關,再細看你會發現"顧客姓名"和"顧客編號"相關,"顧客編號"和"訂單編號"又相關,最後經過傳遞依賴,"顧客姓名"也和"訂單編號"相關。為了滿足第三正規化,應去掉"顧客姓名"列,放入客戶表中。

資料庫正規化詳解

資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的 結構明晰的,同時,不會發生插入 insert 刪除 delete 和更新 update 操作異常。反之則是亂七八糟,不僅給資料庫的程式設計人員製造麻煩,而且面目可憎,可能儲存了大量不需要的冗餘資訊。正規化說明 1.1 第一...

資料庫正規化詳解

資料庫的設計正規化是資料庫設計所需要滿足的規範,滿足這些規範的資料庫是簡潔的 結構明晰的,同時,不會發生插入 insert 刪除 delete 和更新 update 操作異常。反之則是亂七八糟,不僅給資料庫的程式設計人員製造麻煩,而且面目可憎,可能儲存了大量不需要的冗餘資訊。正規化說明 1.1 第一...

資料庫三正規化詳解

所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能同時有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性 如果出現重複的屬性,就可能需要定義乙個新的實體,新的實體由重複的屬性構成,新實體與原實體之間為一對多關係。在第一正規化 1nf 中表的每一行只包含乙個例...