数据库范式

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

    

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


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


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


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

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