文章出處

     在一張表上,只應用一條規則也是很困難的,所有范式規則的原則就是后一級規則必須符合前一級規則。換句話說,如果一個設計符合第二范式,就必然符合第一范式。

     第一范式--1NF

     范式的第一條規則規定

  • 表是二維的,包含行和列,每一行必須有相同的列數;
  • 表中的每個列都包含一個特性,列中的所有特性都必須有相同的類型;
  • 每一行必須可以唯一標識。

要將平面數據轉化到第一范式,需要利用數據庫設計器創建另外一個表。重復的列要被刪除,相關的數據要放在第二個表中,使每一行都是唯一的。這條規則,用于減少橫向軸(列)上的冗余。

    第二范式--2NF

    這條規則規定,非鍵字段,不可依賴于主鍵的一部分,依賴于鍵值的字段要放到另一個表中。例如,如果一個表的主鍵,由兩個列組成,行中的其他列都必須依賴這兩個列,而不能只依賴其中一列。

   為了符合第二范式,必須先滿足第一范式,然后找出與表主鍵有部分依賴關系的屬性,放在另一個表中。

   在避免使用多列主鍵,或者刪除部分依賴的列后,就達到了第二范式。然后就進入第三范式。

    第三范式--3NF

    第一條規則規定,行必須有鍵值,以便于區分。3NF在1NF的基礎上進一步規定,任何行的唯一性都必須完全依賴于主鍵。第三范式是要減少縱軸(行)上的重復。

   Boyce-Codd范式,第4范式與第5范式

   Boyce和Codd構建了他們的標準--Boyce-Codd范式(BCNF)。這個范式是定義在前面討論的理想情況上的。在符合后面的范式之前,必須先滿足第一范式與第二范式,實際上,就是因為從第一范式到第二范式再到第三范式的改進過程中,催生了對BCNF的需要。通過對屬性的函數依賴的分解,就在一些實體間,產生了多對多關系。有時這會不精確地留下這樣一個狀態:在所參與的實體中,有一個或多個實體有重復的候選鍵。

    非鍵屬性所依賴的屬性就是候選鍵。BCNF解決候選鍵內的依賴問題。第四范式和第五范式的冗長而復雜的數學理論一個簡單版本就是:第四范式和第五范式用來解決多對多關系。

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()