范式设计和反范式设计

Posted noneplus

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了范式设计和反范式设计相关的知识,希望对你有一定的参考价值。

三大范式

  • 第一范式:无重复的列

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

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

范式的问题:

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

反范式

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

对比

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

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

以上是关于范式设计和反范式设计的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记:数据库中的范式和反范式

Java学习笔记:数据库中的范式和反范式

漫谈数据仓库和范式

MYSQL 性能优化

MySQL(二十一)—— 数据库设计三范式

数据库设计之三范式