什么是关系型数据库范式
2018-02-27 19:13
330 查看
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
一、第一范式(1NF)第一范式要求属性具有原子性,不可再分解。例如:活动表(活动名称、活动时间、活动地址)如果活动地址可以细分国家,城市、地区等则此时的设计不满足第一范式。
二、第二范式 (2NF)第二范式要求数据记录的唯一性,且有唯一的主键,如果表中存在多个主键且不完全依赖主键,则不满足第二范式。例如:版本表(版本编号、版本名称、产品编号、产品名称)此时主键为版本编号、产品编号。产品名称依赖产品编号此时为不完全依赖主键故不满足第二范式。解决方案,分表;版本表(版本编号、版本名称)产品表(产品编号、产品名称)
三、第三范式(3NF)第三范式强调数据冗余性的约束,即非主键完全直接依赖于主键。例如订单表(订单编号、顾客编号、顾客名称)订单编号为主键,此时顾客编号和顾客名称都完全依赖与订单编号满足第二范式,但是顾客名称直接依赖顾客编号,顾客编号直接依赖订单编号从而顾客名称间接依赖主键从而不满足第三范式。解决的办法分表订单表(订单编号、顾客编号)顾客表(顾客编号、顾客名称)此时完全满足第三范式。
范式可以避免数据冗余,减少数据空间,减轻维护数据完整性的麻烦。
参考资料:https://baike.so.com/doc/4367825-4573590.html http://blog.csdn.net/mjt_284321/article/details/70800198
一、第一范式(1NF)第一范式要求属性具有原子性,不可再分解。例如:活动表(活动名称、活动时间、活动地址)如果活动地址可以细分国家,城市、地区等则此时的设计不满足第一范式。
二、第二范式 (2NF)第二范式要求数据记录的唯一性,且有唯一的主键,如果表中存在多个主键且不完全依赖主键,则不满足第二范式。例如:版本表(版本编号、版本名称、产品编号、产品名称)此时主键为版本编号、产品编号。产品名称依赖产品编号此时为不完全依赖主键故不满足第二范式。解决方案,分表;版本表(版本编号、版本名称)产品表(产品编号、产品名称)
三、第三范式(3NF)第三范式强调数据冗余性的约束,即非主键完全直接依赖于主键。例如订单表(订单编号、顾客编号、顾客名称)订单编号为主键,此时顾客编号和顾客名称都完全依赖与订单编号满足第二范式,但是顾客名称直接依赖顾客编号,顾客编号直接依赖订单编号从而顾客名称间接依赖主键从而不满足第三范式。解决的办法分表订单表(订单编号、顾客编号)顾客表(顾客编号、顾客名称)此时完全满足第三范式。
范式可以避免数据冗余,减少数据空间,减轻维护数据完整性的麻烦。
参考资料:https://baike.so.com/doc/4367825-4573590.html http://blog.csdn.net/mjt_284321/article/details/70800198
相关文章推荐
- 关系型数据库的范式
- 关系型数据库的设计范式 1NF 2NF 3NF BCNF
- 关系型数据库的设计方法之一就是要满足范式的模式
- 关系型数据库设计范式
- 什么叫存储过程?视图?关系型数据库产品?
- 数据库三范式是什么?
- 关系型数据库设计范式
- 关系型数据库的范式分析并举例
- 总结关系型数据库三范式
- 数据库中什么是范式?它的作用是什么?第一、二、三范式的内容是什么?
- 关系型数据库范式
- 用实例告诉你什么是数据库范式
- 关系型数据库--范式
- 关系型数据库三范式
- 关系型数据库是什么?所遵循的ACID4个规则是哪些?
- 范式----设计关系型数据库的准则
- 解释一下关系数据库的第一第二第三范式? 第一范式不可分割?第三范式没有传递依赖?没看懂是什么意思希望指点!
- 关系型数据库范式
- 什么是数据库三大范式?
- 什么是关系型数据库