数据库范式

  • 范式是关系数据库关系模式规范化的标准,从规范化的宽松到严格,分为不同的范式,通常使用的有第一、第二、第三范式及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

你可能感兴趣的:(数据库范式)