数据库三范式介绍

范式的定义

范式是为了消除重复数据减少冗余数据,从而让数据库内的数据更好的组织,让磁盘空间得到更有效利用的一种标准化标准,麻烦高等级范式的先决条件是满足低等级范式。

第一范式(1NF)

表中的列只能含有原子性(不可再分)的值。

第一范式就是每一个属性都不可再分。不符合第一范式则不能成为关系型数据库。

第二范式(2NF)

  • 满足第一范式
  • 没有部分依赖

简单的说,表中的属性必须完全依赖于全部主键,而不是部分主键,所以只有一个主键的表如果符合第一范式,那一定满足第二范式。

第三范式(3NF)

  • 满足第二范式
  • 没有传递依赖

简单的说,第三范式是为了消除数据库中关键字之间的依赖关系,第二范式化的表中,如果有字段依赖于其他字段,则该表不符合第三范式。即表中字段是通过表内其他非主键字段决定而来。

总结

关系数据库模型设计中,一般需要满足第三范式的要求。好处是:

  • 减少数据冗余
  • 提高更新数据的效率,消除异常(插入异常,更新异常,删除异常)

然而,我们在实际应用中也要防止过度规范化的问题。规范化程度越高,划分的表就越多,会带来其他问题。

  • 查询时要连接多个表,增加了查询的复杂度
  • 查询时需要连接多个表,降低了数据库查询性能

你可能感兴趣的:(数据库三范式介绍)