數據庫三大範式

第一範式

  • 第一範式(1NF)要求數據庫表的每一列都是不可分割的基本數據項,同一列中不能有多個值。
  • 若某一列有多個值,可以將該列單獨拆分成一個實體,新實體和原實體間是一對多的關係。
  • 在任何一個關係數據庫中,第一範式(1NF)是對關係模式的基本要求,不滿足第一範式(1NF)的數據庫就不是關係數據庫。

第二範式

  • 滿足第二範式(2NF)必須先滿足第一範式(1NF)。
  • 第二範式要求實體中沒一行的所有非主屬性都必須完全依賴於主鍵;即:非主屬性必須完全依賴於主鍵。
  • 完全依賴:主鍵可能由多個屬性構成,完全依賴要求不允許存在非主屬性依賴於主鍵中的某一部分屬性。
  • 若存在哪個非主屬性依賴於主鍵中的一部分屬性,那麼要將發生部分依賴的這一組屬性單獨新建一個實體,並且在舊實體中用外鍵與新實體關聯,並且新實體與舊實體間是一對多的關係。

第三範式

  • 滿足第三範式必須先滿足第二範式。
  • 第三範式要求:實體中的屬性不能是其他實體中的非主屬性。因爲這樣會出現冗餘。即:屬性不依賴於其他非主屬性。
  • 如果一個實體中出現其他實體的非主屬性,可以將這兩個實體用外鍵關聯,而不是將另一張表的非主屬性直接寫在當前表中
  • 簡單的說,第三範式要滿足以下的條件:首先要滿足第二範式,其次非主屬性之間不存在函數依賴。由於滿足了第二範式,表示每個非主屬性都函數依賴於主鍵。如果非主屬性之間存在了函數依賴,就會存在傳遞依賴,這樣就不滿足第三範式。
參考:http://blog.csdn.net/u010425776/article/details/60968300
http://blog.csdn.net/wangyulong22/article/details/34814089
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章