數據庫設計的三大範式通俗講解

                    舉例說明關係數據庫表的設計之三大範式

  1. 第一範式:第一範式(1NF)是指數據庫的每一列都是不可分割的基本數據項
  2. 第二範式:第二範式(2NF)是在第一範式(1NF)的基礎上建立起來的,即滿足第二範式(2NF)必須先滿足第一範式(1NF)。第二範式要求每一行都要有唯一標識存在,這個唯一屬性列被稱爲主關鍵字或主鍵、主碼。實體的屬性完全依賴於主關鍵字。
  3. 第三範式:第三範式是在第二範式的基礎上建立起來的。第三範式指:屬性不依賴於其他非主屬性。

     舉例說明:

     現有一張表:

     

       存在的問題:

  1.  存在非常嚴重的冗餘,姓名,系名,班主任這三列大大重複。
  2.  添加數據存在問題,要想單獨添加系名和系主任,則無法辦到
  3. 數據刪除存在問題,刪除一名同學對應的系名和系主任也沒有了,數據依賴太強

  解決辦法:

     使用三大範式進行數據表的拆分:

       1> 使用第一範式,將系列拆分爲系名和系主任兩列,結果如下圖:

   

    2>   使用第二範式,將表拆分爲每列屬性可依賴於首列的兩張表,如圖所示:

  >

 3>   使用第三範式,繼續進行拆分,將表分爲僅依賴於首列主屬性的表

這樣就解決了上述存在的三個問題,表也拆分完畢。

簡單色說以下三大範式:第一範式就是說每個列就是是一個不可拆分的詞語,若還可以再細分,便不符合第一範式。第二範式就是告訴人們在建表的時候要確立主鍵,方便查找。第三範式就是說如果一張表可以拆分要繼續拆分。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章