面試突擊52 什麼是三正規化?它有什麼用?

2022-10-11 14:36:13 字數 1168 閱讀 9033

第一正規化規定表中的每個列都應該是不可分割的最小單元。比如以下表中的 address 欄位就不是不可分割的最小單元,如下圖所示:

其中 address 還可以拆分為國家和城市,如下圖所示:

這樣改造之後,上面的表就滿足第一正規化了。

第二正規化是在滿足第一正規化的基礎上,規定表中的非主鍵列不存在對主鍵的部分依賴,也就是說每張表只描述一件事情,比如以下訂單表就不滿足第二正規化,它可以拆分為兩張獨立的表:訂單表和商品表。

ps:上面的錶可拆分為兩張獨立的表:訂單表和商品表。

訂單表:

商品表:

第三正規化是在滿足第一正規化和第二正規化的基礎上,規定表中的列不存在對非主鍵列的傳遞依賴。比如以下的訂單表中的顧客名稱就不符合第三正規化,因為它存在了對非主鍵顧客編號的依賴,如下圖所示:

修改之後(符合第三正規化)的表結構如下:

第一正規化規定表中的每個列都應該是不可分割的最小單元。第二正規化是在滿足第一正規化的基礎上,規定表中的非主鍵列不存在對主鍵的部分依賴。第三正規化是在滿足第一正規化和第二正規化的基礎上,規定表中的列不存在對非主鍵列的傳遞依賴。使用資料庫三正規化的優勢是:表的結構更簡單、優雅,表的邏輯和條理性更強,並且使用三正規化可以很大程度的減少表中的冗餘資料,很好的節省了資料庫的儲存資源。

參考 & 鳴謝

《offer 來了》

是非審之於己,毀譽聽之于人,得失安之於數。

面試合集:

什麼是三正規化

1 第一正規化 當關係模式r的所有屬性都不能在分解為更基本的資料單位時,稱r是滿足第一正規化的,簡記為1nf。滿足第一正規化是關係模式規範化的最低要求,否則,將有很多基本操作在這樣的關係模式中實現不了。2 第二正規化 如果關係模式r滿足第一正規化,並且r得所有非主屬性都完全依賴於r的每乙個候選關鍵屬...

什麼是正規化?第一正規化 第二正規化 第三正規化的區別

總結 正規化的含義 符合某種級別的關係模式的集合。表示乙個關係內部的各屬性之間聯絡的合理化程度。可以理解為 資料表的表結構所符合的某種設計標準的級別。第一正規化 是對關係模式的基本要求。不滿足第一正規化的關係,不能稱為關係型資料庫。符合第一正規化的關係,每個屬性都不可以再分割。但是如果僅僅滿足第一正...

面試 資料庫三正規化是什麼?

1 第一正規化 1nf 在任何乙個關聯式資料庫中,第一正規化 1nf 是對關係模式的基本要求,不滿足第一正規化 1nf 的資料庫就不是關聯式資料庫。所謂第一正規化 1nf 是指資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。如果出現...