简介
数据库范式主要是为解决关系数据库中数据冗余、更新异常、插入异常、删除异常问题而引入的设计理念。
简单来说,数据库范式可以避免数据冗余,减少数据库的存储空间,并且减轻维护数据完整性的成本。是关系数据库核心的技术之一,也是从事数据库开发人员必备知识。
第一范式
遵循原子性。即,表中字段的数据,不可以再拆分。
第二范式
在满足第一范式的情况下,遵循唯一性,消除部分依赖。即,表中任意一个主键或任意一组联合主键,可以确定除该主键外的所有的非主键值。
再通俗点讲就是,一个表只能描述一件事情。
第三范式
在满足第二范式的情况下,消除传递依赖。即,在任一主键都可以确定所有非主键字段值的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B
总结
第一范式(1 NF):字段不可再拆分。
第二范式(2 NF):表中任意一个主键或任意一组联合主键,可以确定除该主键外的所有的非主键值。
第三范式(3 NF):在任一主键都可以确定所有非主键字段值的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B。
关于数据库理论:数据库的六大范式知识笔记 https://www.51cto.com/article/632448.html
Mysql - 什么是三大范式(通俗详解) https://zhuanlan.zhihu.com/p/590135927
什么是数据库三大范式,通俗讲解 一讲就懂 https://blog.csdn.net/weixin_44355591/article/details/106194714