資料庫規範化與經典三正規化

2022-07-30 21:33:13 字數 1217 閱讀 4980

冗餘導致多種更新異常,也就是插入、更新和刪除行的操作困難。

規範化(normalization)是通過修改表以減少冗餘和矛盾的一系列步驟。

在每一步之後,資料庫都達到乙個特定的正規化(normal form)

關係模型定義了三種正規化,以著名的序數命名。

第一正規化(1nf)

第二正規化(2nf)

第三正規化(3nf)

每一種正規化都比前一種更健壯。符合3nf的資料庫也符合2nf和1nf。規範化水平越高,表的數量也越多。

無損分解(lossless decomposition)能確保表的分割不會引起資訊丟失。

依賴-保持分解(dependency-preserving decomposition)能確保聯絡不丟失。

當表被分割的時候,存在匹配的主鍵和外來鍵列不應被認為是多餘的資料。

規範化不是系統化,它是乙個涉及重複表的分割、重新聯結和精煉的迭代過程。

滿足第一正規化的表:

列僅包含原子值。

沒有重複的組。

原子值(也稱為

標量值)是不能再細分的單一值。

重複的組

是兩個或多個邏輯相關聯的列的集合。

當滿足下列條件時,第一正規化的表自動滿足第二正規化:

主鍵是乙個列(也就是說,關鍵字不是組合的)。

表中所有的列是主鍵的一部分(單一的或組合的)。

滿足第二正規化的表:

滿足第一正規化。

非部分函式依賴。

如果表中的一些組合鍵(但不是全部)值確定了乙個非鍵列的值,則表包含部分函式依賴

第二正規化表是完全函式依賴,意味著如果組合鍵中任何一列值改變,將導致非鍵列的值需要被更新。

滿足第三正規化的表:

滿足第二正規化。

沒有傳遞依賴。

如果乙個非鍵列的值確定了另乙個另乙個非鍵列的值,則表包含傳遞依賴

在第三正規化的表中,非鍵列相互獨立並且只依賴於主鍵列。

SQL基礎 資料庫規範化與三正規化

冗餘導致多種更新異常,也就是插入 更新和刪除行的操作困難。規範化 normalization 是通過修改表以減少冗餘和矛盾的一系列步驟。在每一步之後,資料庫都達到乙個特定的正規化 normal form 關係模型定義了三種正規化,以著名的序數命名。第一正規化 1nf 第二正規化 2nf 第三正規化 ...

資料庫規範化

規範化 normalization 是資料庫系統設計中非常重要的乙個技術。資料庫規範化能夠讓資料庫設計者更好地了解組織內部當前的資料結構,最終得到一系列的資料實體。資料庫規範化通過對資料庫表的設計,可以有效降低資料庫冗餘程度。在進行資料庫規範化的時候,我們有一系列的步驟需要遵循。我們把這些步驟稱作正...

關聯式資料庫規範化理論 正規化

此篇博文是我的第一篇文章,在複習資料庫正規化部分的時候做的筆記。正規化指 規範化的關係模式,由於規範程度不同,產生了不同的正規化 乙個低一級的關係正規化通過模式分解可以轉換成若干高一級正規化的關係模式的集合。這個過程稱為關係模式的規範化。關係模式規範化的必要性 關係模式規範化,使之達到較高的正規化是...