数据库三范式介绍

范式的定义

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

第一范式(1NF)

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

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

第二范式(2NF)

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

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

第三范式(3NF)

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

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

总结

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

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

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

  • 查询时要连接多个表,增加了查询的复杂度
  • 查询时需要连接多个表,降低了数据库查询性能
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。