一、数据库的三大范式的基本理解
1. 第一范式:字段不可再往细里拆分。
2. 第二范式:一个表只说明一个事物。
3. 第三范式:每列与主键有直接关系,不存在传递依赖。
二、对数据库的三大范式的深入理解
1. 第一范式:解决的是原子性。
2. 第二范式:解决的是唯一性。
3. 第三范式:解决的是不依赖性。
三、对数据库的三大范式的深刻理解
1. 第一范式:原子性是建立在对属性的约束上。
2. 第二范式:唯一性是建立在一行数据能表达一个实体,对记录的惟一性约束。换句话说,就是要有主键。
3. 第三范式:不是主键的字段,不能相互依赖。对字段冗余性的约束,即任何字段不能由其他字段派生出来。
四、数据库范式化设计优缺点
1. 优点
可尽量得减少数据冗余,使得更新快,体积小
2.缺点
对查询需要多个表进行关联,减少写得效率增加读得效率,更难进行优化索引
五、总结
第一范式:是原子性,字段不可再分割;
第二范式:是完全依赖,没有部分依赖;
第三范式:是没有传递依赖。
六、反范式化
1. 优点
可减少表得关联,可更好得进行索引优化
2. 缺点
数据冗余,以及数据异常,数据得修改需要更多的成本。有的场景下,数据冗余,可以加快查询速度。