数据库范式
2019-12-09 本文已影响0人
etip
- 范式是关系数据库关系模式规范化的标准,从规范化的宽松到严格,分为不同的范式,通常使用的有第一、第二、第三范式及BC范式。范式是建立在函数依赖基础上的。
-
1NF
关系数据库的每个属性具有原子性不可分割 -
2NF
满足1NF,且每个非主属性完全函数依赖于主键,即每个非主属性是由整个主键函数决定,而不能由主键的一部分来决定。 -
3NF
满足2NF,且任何非主属性对主键都不存在传递依赖。
一般情况下的数据库只需满足第三范式即可。 -
4NF
要求把同一表内的多对多关系删除 -
5NF
从最终结构重新建立原始结构 -
BCNF
符合3NF,且主属性不依赖于主属性。若关系模式R属于1NF,且每个属性都不传递依赖于主键(主键即键码可以有多个主属性),则R属于BCNF。
三大范式只是一般设计数据库的基本理念,可以建立冗余较小、结构合理的数据库。如果有特殊情况,当然要特殊对待,数据库设计最重要的是看需求跟性能,需求>性能>表结构。所以不能一味的去追求范式建立数据库。
参考:
1.https://www.cnblogs.com/rosesmall/p/9585655.html
2.https://www.cnblogs.com/knowledgesea/p/3667395.html