mysql的优化系列(2)

关于数据库的3NF:

为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。

1NF:1NF是最基本的范式,就是表的列具有原子性,也就是数据库表中所有的字段都是不可分解的原子值。(当然也需要根据项目需求)比如一个表需要地址这个字段,但是如果项目需要频繁的查看所在的城市省份等,就需要将地址字段分解成城市和省份这些字段。

数据库的分类:

关系型数据库

非关系型数据库(面向对象或者集合)

Nosql数据库 MongoDB(面向文档)

2NF:表中的记录具有唯一性,一般来说为了满足2NF 要设置主键

3NF:表中不要有冗余数据,即如果表中的数据可以通过推导得出,就没必要另外设计一个字段。

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

posted on 2015-03-16 17:31  老李的菜园  阅读(159)  评论(0编辑  收藏  举报

导航