数据库设计范式

数据库设计三范式
  数据库设计的第一范式:
            1.数据表的所有字段只具有单一属性(想成excel表格就是一个表格里别填多个信息,保证原子性,毕竟从数据库里读的数据还得解析一下很操蛋的)
            2. 都是基本数据类型构成(这个没啥说的)
               3.设计的表都是简单的二维表(好像都是二维表,反正我整不来三维四维,一维的概念我理解为能枚举的列,把值当做列视为一维,差不太多,可以不纠结,管它的)
 
  数据库设计的第二范式:
            1.必须有主键
            2.如果是单一主键,那么其它所有列必须跟主键有依赖关系;如果是联合主键,那么其它所有列必须跟联合主键都有依赖关系
  数据库设计的第三范式:
            1.满足第1,2范式,并且所有列跟主键之间是直接关系,间接的依赖关系不行
 
反范式化
  反范式化是针对范式化而言的,在前面介绍了数据库设计的范式,所谓的反范式化就是为了性能和读取 效率的考虑 适当的对数据库设计范式的要求进行违反,而允许存在少量的数据冗余,换句话来说反范 式化就是使用空间来换取时间
原文地址:https://www.cnblogs.com/hebiao/p/11531370.html