概述
在程序开发中,已经使用数据库很多年了。有人问我数据的的三大范式是什么,额。。。我真的忘了,今天就来复习一下吧。
数据库范式是怎么来的?
为了避免关系数据库中的数据操作(增、删、改、查)异常、数据冗余、节省数据空间、便于维护数据等而制定/引入的规则,这种规则就是我们所说的范式。它是符合一定规则的数据模式的集合。
关系数据库有六大范式,即第一至第六范式(从低到高主要有:1NF、2NF、3NF、BCNF、4NF、5NF)
范式是评价数据库模式规范化程度的标准。
数据库通常都需要满足的范式有第一、第二、第三范式。
什么是三大范式?
第一范式:确保数据表中每列都不可再分割、分解,也就是原子性约束。
第二范式:要求数据表中的每列都和主键有依赖关系,即依赖于主键。实现数据表中每一行数据的唯一性。
第三范式:要求数据表中每列的数据都要和主键有直接关联。也就是属性的冗余性约束。
反范式化
不能满足范式的数据库设计就是反范式化。
在程序设计中,是允许数据库表中有一些反范式化设计出现的。通常这种设计的初衷是:以数据库的空间来节省程序的响应时间。
范式化/反范式化的优缺点
范式化优点:
减少数据冗余
数据更新操作时间更短,程序反应更迅速。
数据表更简单、便于维护
范式化缺点:
范式化导致数据表的关联增多,这就导致数据查询是程序的性能会降低
增加索引的优化难度
反范式化的优点:
减少表关联
索引优化难度低
反范式化的缺点:
数据表中存在数据冗余,增加了数据表的维护成本
数据表复杂化,不利于数据表中数据的更改
**以上纯属本人个人总结,可能略有错误,敬请见谅。
最后
以上就是潇洒酒窝为你收集整理的关系型数据库的范式数据库范式是怎么来的?什么是三大范式?反范式化的全部内容,希望文章能够帮你解决关系型数据库的范式数据库范式是怎么来的?什么是三大范式?反范式化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复