數據庫的三範式與反三範式

出於對作者的尊重
參考文獻:cnblogs.com/shuxiaosheng/p/11588837.html

第一範式:原子性,字段內容不可分割;

第二範式:在第一範式的基礎上,一張表只做一件事,存在主鍵,其他字段都依賴主鍵;

第三範式:在第二範式的基礎上,消除數據的傳遞性。
 

反三範式:增加冗餘字段,以空間換時間,提高效率。

 

解釋:(以下舉例全爲反例)

第一範式:內容不可拆分,比如adress字段:山西-太原可拆分;

第二範式:

  1. 一張表只能有一個功能;
  2. 只能通過主鍵確定數據的唯一性,而不是通過聯合索引,eg:一張表一個訂單id跟一個商品id,想確定數據唯一性必須使用這兩個聯合主鍵才能確定;

第三範式:字段之間不產生關聯,eg:單價字段,數量字段,總價字段,總價與前兩個有關聯,完全可以不用這個字段。

反三範式:以第三範式舉例,如果數據量特別多的情況頻繁需要計算總價,此時爲了提升效率,可以加上;(總價=單價*數量,如果沒有這個字段,需要將數據循壞乘積,效率慢)

推薦:https://www.cnblogs.com/wyq178/p/8549715.html

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