數據庫設計的三大範式

三大範式:

簡單歸納:

  第一範式(1NF):字段不可分;原子性。 字段不可再分,否則就不是關係數據庫;
  第二範式(2NF):有主鍵,非主鍵字段依賴主鍵;唯一性 。一個表只能有一種數據;
  第三範式(3NF):非主鍵字段不能相互依賴;每列都與主鍵有直接關係,不存在傳遞依賴。

第一範式(1NF):字段不可分 

不可分割的意思就按字面理解就是最小單位,不能再分成更小單位了。
這個字段只能是一個值,不能被拆分成多個字段,否則的話,它就是可分割的,就不符合一範式。
不過能不能分割並沒有絕對的答案,看需求,也就是看你的設計目標而定。

第二範式(2NF):有主鍵,主鍵唯一性 

爲什麼要有主鍵?沒有主鍵就沒有唯一性,沒有唯一性在集合中就定位不到這行記錄,所以要主鍵。
其他字段爲什麼要依賴於主鍵?因爲不依賴於主鍵,就找不到他們。更重要的是,其他字段組成的這行記錄和主鍵表示的是同一個東西,而主鍵是唯一的,它們只需要依賴於主鍵,也就成了唯一的。

第三範式(3NF):非主鍵字段不能相互依賴

就是要消除傳遞依賴,方便理解,可以看做是“消除冗餘”。
消除冗餘應該比較好理解一些,就是各種信息只在一個地方存儲,不出現在多張表中。

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