范式设计和反范式设计

三大范式

  • 第一范式:无重复的列

  • 第二范式:属性完全依赖于主键
  • 第三范式:属性不能传递依赖其他非主属性

范式的作用是避免数据冗余(数据重复)。

范式的问题:

按照范式设计出来的表在数据冗余的问题虽然得到解决,但是会生成许多表,导致了表数量的复杂性,其二,查询数据的时候,多表查询的时间远远高于单表查询的时间。

反范式

范式的目的是减小数据冗余,而反范式指的是在一定程度上允许数据冗余,目的是加快数据操作。

对比

范式与反范式是一场时间和空间的较量,满足范式节省空间,满足反范式加快操作速度。

在满足范式设计数据库的前提条件下,再根据具体的业务需求完成反范式的设计。

相关推荐