出於對作者的尊重
參考文獻:cnblogs.com/shuxiaosheng/p/11588837.html
第一範式:原子性,字段內容不可分割;
第二範式:在第一範式的基礎上,一張表只做一件事,存在主鍵,其他字段都依賴主鍵;
第三範式:在第二範式的基礎上,消除數據的傳遞性。
反三範式:增加冗餘字段,以空間換時間,提高效率。
解釋:(以下舉例全爲反例)
第一範式:內容不可拆分,比如adress字段:山西-太原可拆分;
第二範式:
- 一張表只能有一個功能;
- 只能通過主鍵確定數據的唯一性,而不是通過聯合索引,eg:一張表一個訂單id跟一個商品id,想確定數據唯一性必須使用這兩個聯合主鍵才能確定;
第三範式:字段之間不產生關聯,eg:單價字段,數量字段,總價字段,總價與前兩個有關聯,完全可以不用這個字段。
反三範式:以第三範式舉例,如果數據量特別多的情況頻繁需要計算總價,此時爲了提升效率,可以加上;(總價=單價*數量,如果沒有這個字段,需要將數據循壞乘積,效率慢)