三大范式解析:

三大范式解析:

新人很难读懂三大范式,接下来根据自己的理解解析一下,很多不足,多多指教。
(1)第一范式1NF:
原子性:表中每列不可再拆分。比如你的身份证号码,他是固定的长度,分开就不能表示身份证id,像这样的不可分的这些属性就理解为第一范式。

(2)第二范式2NF:
不产生局部依赖,一张表只描述一件事情。第二范式是在第一范式的基础上进行建立,就会逐渐变得复杂,比如一个班级,那么一个班级有很多同学,他至少有包含概念,接下来就是第二范式,它每一张表只描述一件事情,如果你建的是学生表,那么你表中的数据只能表示学生信息。其中包含主键等信息。
一二范式的联系:满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。
(3)第三范式3NF:
简述:不产生传递依赖,表中每一列都直接依赖于主键。而不是通过其他列间接依赖于主键。
二三范式的联系:满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。

还有很多不足,请多多指正

你可能感兴趣的:(知识点分析)