规范化处理(三范式)

第一范式:

  1. 数据组的每个字段具有原子性,不可再分
  2. 关系中的每个元组必须包含相同数量的值
  3. 关系中的每个元组一定不能相同(行数据不能相同 )

第二范式:

  1. 数据库表的每个实体必须可以被唯一区分(主键 )
  2. 要求实体的属性完全依赖于主关键字,不能存在仅依赖主关键字一部分的属性(不存在部分依赖 ),若存在,应该将此属性与此部分关键字分离出来形成新的实体,新实体与原实体之间是一对多的关系(针对复合主键)

第三范式:

  1. 不存在传输依赖(使用外键 )
  2. 要求关系表不存在非关键字列对任意候选关键字列的传递函数依赖,即一个关系表中不包含已在其他表中包含的非主关键字信息

反三范式:

  1. 不必有主键
  2. 适当增加冗余字段有利于提高查询速度
  3. 冗余有缺陷:需要手动修改值,在程序中维护,每次更新数据就要同时更新冗余字段

三范式追求低存储空间,反三范式追求查询速度

转载于:https://www.cnblogs.com/mabaoqing/p/10691273.html

你可能感兴趣的:(规范化处理(三范式))