数据库范式

    在学习数据库过程中经常会看到数据库范式和反范式,到底是个什么东东呢?

    

    个人理解数据库范式就是关系型数据库设计的最基本指导原则,共6个。实际使用过程中并不需要完全按照这个规则来设计。最常用的就是前面3个。


    第一范式:数据字段不可分,这个任何数据库任何人设计数据库都会满足这个条件吧.没人能创建这样的表出来:  create table 字段1 ,字段2(字段2.1,字段2.2)...


    第二范式:唯一性,即一个实体只代表一个事物。比如存储学生成绩的时候,第二范式要求学生信息和学生的成绩信息分开存储。范式有自有它的好处,比如灵活。但这并不是所有场景都三这样的,比如在实际工作过程中就会出现反范式的设计,将多个表拉平成一个表(比如报表)


    第三范式:首先前提三满足第二范式,针对它进行进一步的拆分,使得设计变得更加灵活。比如将成绩信息里面的课程、学生与课程之间的关系单独拆分出来。越灵活也代表了查询更复杂,在实际应用过程中可能会在性能、可扩展性等方面做一个平衡,并不一定按照这个规则来

本文出自 “坚持学习” 博客,请务必保留此出处http://8906256.blog.51cto.com/8896256/1618845

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。