大數據互聯網架構階段 數據庫三範式與反範式

一、 三範式

    主鍵: 創建表時可以不設置主鍵 , 但是沒有設置主鍵的表 , 底層會認爲所有的鍵都是主鍵 ,所以在創建時使用了所有的字段創建索引 , 在查詢時索引的存在幾乎沒有意義 。
    複合主鍵: 兩個或兩個以上的字段作爲評價一條數據記錄的唯一性標誌 。
    第一範式:

  1.         強調列的原子性 , 即:列不能分成幾列
  2.         只要是關係型數據庫 , 就自然的遵循第一範式


    第二範式:

  1.         首先滿足第一範式
  2.         必須有主鍵
  3.         沒有包含在主鍵中的列必須完全依賴於主鍵, 而不能只依賴主鍵的一部分


    第三範式:

  1.         首先滿足第一範式
  2.         也屬於第二範式的一種情況
  3.         任何非主鍵字段不能依賴於其他非主鍵字段


    三範式是在數據庫初期使用(時間換取空間) , 能外鍵關聯就外鍵關聯 , 能不冗餘數據設計 , 就不冗餘。
    但是現在的系統對性能要求高, 對存儲要求低(空間換時間)

二、 反範式

  1.     但是現在的系統對性能要求高, 對存儲要求低(空間換時間) , 所以出現了一套反範式
  2.     反範式: 只要違反了第二範式和第三範式 , 就能做到空間換時間 , 獲的最大的效率 。
     
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章