資料庫三大正規化

2021-08-13 02:38:39 字數 1194 閱讀 1748

資料庫設計三大正規化

為了建立冗餘較小、結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。

最常用的有三大正規化 1nf 2nf 3nf

一.第一正規化(確保每列保持原子性)

屬性為原子性,不可拆分 或 無重複的列(通俗的說就是列不能再次劃分) ,簡單的表都屬於第一正規化。

二 .第二正規化(屬性完全依賴於主鍵)確保乙個表只說明乙個事物

函式依賴和完全依賴

所謂完全依賴是指不能存在僅依賴主關鍵字一部分的屬性(設有函式依賴

w→a,若存在xw,有x→a成立,那麼稱w→a是區域性依賴,否則就稱

w→a是完全函式依賴)。如果存在,那麼這個屬性和主關鍵字的這一部

分應該分離出來形成乙個新的實體,新實體與原實體之間是一對多的關

系。部分函式依賴,就是多個屬性決定另乙個屬性,但事實上,這多個屬性是

有冗餘的。例如,(學號,班級)->姓名,事實上,只需要學號就能決定

姓名,因此班級是冗餘的,應該去掉。

重點詳例:判斷條件:

表:學號、課程號、姓名、學分;

這個表明顯說明了兩個事務:學生資訊, 課程資訊;由於非主鍵字段必須依賴

主鍵,這裡學分依賴課程號,姓名依賴與學號,所以不符合二正規化

滿足第二正規化的資料庫設計必須先滿足第一正規化。

因此第二正規化的目標就是消除函式依賴關係中左邊存在的冗餘屬性。

三 .重點內容第三正規化(非主鍵字段不能相互依賴)每列都與主鍵有直接關係,不存在傳遞的依賴

第三正規化需要確保資料表中的每一列資料都和主鍵直接相關,而不能間接相關

也就是,資料庫中的屬性依賴僅能依賴於主屬性,不存在於其他非主屬性的關聯。

重點詳例:例如,圖書,圖書室的關係。圖書包括編號、出版商、頁碼等資訊,圖書

室包括圖書室編號、所存圖書(外來鍵)。其中,圖書室的表中不應該儲存

任何圖書的具體資訊(例如,出版商。。),而只能通過主鍵圖書編號來

獲得對應圖書的資訊。

資料庫設計三大正規化資料庫設計三大正規化

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計乙個結構合理的關係型資料庫,必須滿足一定的正規化。在實際開發中最為常見的設計正規化有三個 1 第一正規化 確保每列保持原子性 第一正規化是最基本的正規化...

資料庫三大正規化

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

資料庫三大正規化

第一正規化 確保每列的原子性.如果每列 或者每個屬性 都是不可再分的最小資料單元 也稱為最小的原子單元 則滿足第一正規化.例如 顧客表 姓名 編號 位址 其中 位址 列還可以細分為國家 省 市 區等。第二正規化 在第一正規化的基礎上更進一層,目標是確保表中的每列都和主鍵相關.如果乙個關係滿足第一正規...