MySQL Optimization Part 1 - Table Design

MySQL Optimization Part 1 - Table Design

目錄


表的三範式

表的範式 (NF):首先符合 1NF,才能滿足 2NF,進一步才滿足 3NF。

1NF:

  • 列具有原子性,不可再分割,即列的信息,不能分解。
  • 只要是數據庫是關係型數據庫(mysql/oracle/db2/informix/sysbase/sql server),就自動的滿足1NF。

2NF:

  • 表中的記錄是唯一的, 就滿足2NF, 通常我們設計一個主鍵來實現。
  • 主鍵不含業務邏輯,一般是自增的。

3NF:

  • 即表中不要有冗餘數據, 就是說,表的信息,如果能夠被推導出來,就不應該單獨的設計一個字段來存放。

反3NF : 但是,沒有冗餘的數據庫未必是最好的數據庫,有時爲了提高運行效率,就必須降低範式標準,適當保留冗餘數據。具體做法是: 在概念數據模型設計時遵守第三範式,降低範式標準的工作放到物理數據模型設計時考慮。降低範式就是增加字段,允許冗餘。

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