范式 (Normal Form) 是关系型数据库正规化中的概念,用于减少数据库中的数据冗余, 增进数据的一致性
在DBMS术语中 ,表称为关系, 行称为元组
第一范式 (1NF) :
表中的每个字段都是最小数据单元
是指在关系模型中, 所有的域都应该是原子性的, 即数据库表的每一列都是不可分割的原子数据项, 而不能是集合/数据/等非原子数据项
实体中的某个属性有多个值的时候, 必须拆分为不同的属性
列不能再分裂出其他列了
第二范式 (2NF) :
在1NF基础上, 非码属性必须完全依赖于候选码 (在1NF基础上消除非主属性对于主码的部分函数依赖)
第二范式(2NF) 要求 数据库表中的 每个实例 或 记录 必须可以被 唯一的 区分, 选取一个能区分每个实体的属性或者属性组,作为实体的唯一标识
第二范式(2NF) 要求实体的属性完全依赖于主关键字, 所谓依赖是指不能存在仅依赖主关键字一部分的属性,如果存在, 那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体
第三范式 (3NF) :
在 2NF基础上, 任何非主属性不依赖于其他非主属性 (在2NF基础上消除传递依赖)
第三范式 (3NF) 要求一个关系中 不包含已在其他关系 已包含的 非主关键字信息
属性不依赖于其他非主属性在满足2NF的基础上, 任何非主属性不得传递依赖于主属性
例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中
Boyce-Codd Normal Form(巴斯-科德范式)(BCNF)
推荐参考博客
https://blog.csdn.net/weixin_45284133/article/details/106930246
https://blog.csdn.net/weixin_43971764/article/details/88677688