看就懂的資料庫三大正規化的基本概念

2021-10-08 01:55:00 字數 1052 閱讀 6330

表中所有欄位都是不可分割的原子值。只要字段值還可以繼續拆分,就不滿足第一正規化。例如位址這個字段,如果寫為xx省xx市xx區就不滿足第一正規化,因為這個字段可以繼續拆分為欄位省,欄位市,字段區。在實際資料處理過程中,正規化設計越詳細,操作更加靈活。

如表1學生資訊表1

學生學號

學生姓名

性別家庭住址

其中家庭住址的範圍較廣,可以繼續拆分為表2

學生資訊表2

學生學號

學生姓名

性別家庭住址(省)

家庭住址(市)

家庭住址(區)

這樣在執行查詢語句的時候,條件限制更為具體(當然,區往後還可以繼續再分,根據實際要求看)。

在滿足了第一正規化的條件下,要求除了主鍵外的每乙個列都必須完全依賴主鍵。例如表3

學生資訊表3

學生姓名

學生性別

學生身份證號

緊急聯絡人

所屬關係

職務所在公司

其中學生性別、學生身份證號、緊急聯絡人、所屬關係都是依賴於學生本身的,而職務、所在公司與學生本身是沒有依賴關係的,所以這張表應該分為兩張表:

表4學生資訊表4

學生姓名

學生性別

學生身份證號

緊急聯絡人

所屬關係

表5聯絡人資訊表

緊急聯絡人

職務所在公司

必須先滿足第二正規化,並且除開主鍵列的其他列之間不能存在傳遞依賴關係。

這裡的傳遞依賴用乙個簡單的例子說明:

如表6學生資訊表6

學生學號

系編號系主任

通過學生學號可以查詢其所在的系編號,通過系編號可以查詢到系主任,但是由系編號是決定不了具體的乙個學生的,所以說系主任和學生學號之間存在傳遞依賴,換句話說系主任是依賴於系編號的,但是表中的學生學號才是主鍵,系主任卻不能完全依賴於學生學號。所以要將系主任置於另一張以系編號為主鍵的資訊表中。

資料庫設計的基本三大正規化

1 第一正規化 確保每一列的屬性都是不可再分 第一正規化的合理遵循需要根據系統的實際需求來定。比如某些資料庫系統中需要用到 位址 這個屬性,本來直接將 位址 屬性設計成乙個資料庫表的字段就行。但是如果系統經常會訪問 位址 屬性中的 城市 部分,那麼就非要將 位址 這個屬性重新拆分為省份 城市 詳細位...

秒懂資料庫三正規化

懂得資料庫正規化,對於設計出乙個合理的資料庫有很大的幫助。本文根據自己對資料庫正規化的理解,結合具體的例子,嘗試著用通俗易懂的語言講明白資料庫三正規化。如果資料庫中所有的字段值都是不可拆分的原子值,那麼就滿足第一正規化了。簡單點說就是不能有表中表,所以關聯式資料庫都滿足第一正規化。例子略。第二正規化...

資料庫的三大正規化

看到一篇寫正規化的文章,比較好,記錄下來備忘 引用自 正規化 英文名稱是 normal form,它是英國人 e.f.codd 關聯式資料庫的老祖宗 在上個世紀70年代提出關聯式資料庫模型後總結出來的,正規化是關聯式資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可...