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 : 但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是: 在概念数据模型设计时遵守第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

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