第一范式(1NF) :字段具备原子性,不可再分。全部关系型数据库系统都知足第一范式)
数据库表中的字段都是单一属性的,不可再分。例如,姓名字段,其中的姓和名必
须做为一个总体,没法区分哪部分是姓,哪部分是名,若是要区分出姓和名,必须设计成两
个独立的字段。
第二范式(2NF) :
第二范式(2NF)是在第一范式(1NF)的基础上创建起来的,即知足第二范式(2NF)必
须先知足第一范式(1NF) 。
要求数据库表中的每一个实例或行必须能够被唯一地区分。 一般须要为表加上一个列, 以存储
各个实例的唯一标识。这个唯一属性列被称为主关键字或主键。
第二范式(2NF)要求实体的属性彻底依赖于主关键字。所谓彻底依赖是指不能存在仅依赖
主关键字一部分的属性, 若是存在, 那么这个属性和主关键字的这一部分应该分离出来造成
一个新的实体, 新实体与原实体之间是一对多的关系。 为实现区分一般须要为表加上一个列,
以存储各个实例的唯一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。
第三范式的要求以下:
知足第三范式(3NF)必须先知足第二范式(2NF) 。简而言之,第三范式(3NF)要求一
个数据库表中不包含已在其它表中已包含的非主关键字信息。
因此第三范式具备以下特征:
1,每一列只有一个值
2,每一行都能区分。
3,每个表都不包含其余表已经包含的非主关键字信息。
例如,帖子表中只能出现发帖人的 id,而不能出现发帖人的 id,还同时出现发帖人姓名,
不然,只要出现同一发帖人 id 的全部记录,它们中的姓名部分都必须严格保持一致,这就
是数据冗余。数据库