数据库三大范式

Posted by 小白 on June 30, 2017
  1. 第一范式:每一列具有原子性,不可拆分。例如:地址+电话,就应该拆分为两列;
  2. 第二范式,每个非主键列都依赖于主键(注意主键可以由多列组成)。例如:表(订单id、商品id、订单详情、订单金额、商品价格),主键是订单id,订单详情,订单金额等都依赖于主键,而商品价格则依赖于商品id,不符合第二范式;解决方式是将订单号和商品id共同作为主键;
  3. 第三范式,不能存在间接依赖。例如:表(订单id、订单金额、顾客id、顾客地址),顾客地址依赖于顾客id,而顾客id又依赖于订单id,出现间接依赖,不符合第三范式。解决方案是拆分表。

意义:是为了在设计中更好的解决数据冗余,数据有效性检查,提高存储效率。