第一范式
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列不能有多个含义,即实体的某个属性不能有多个含义或者不能有重复的属性。
1NF是关系数据库的基本原则,不满足1NF的要求,就不能称其为关系数据库。第一范式表达了如下3个意思。
(1)一个表中不能同时存在两个含义重复的属性。
(2)一个表中的一列不能是其他列的计算结果。
(3)一个表中某一列的取值不能有多个含义。
第二范式
第二范式(2NF)要求数据库表中每一行必须可以被唯一地区分。为实现此目标,通常需要为表加上一个标识列,以存储各行的唯一标识。这个唯一属性列被称为主键。
2NF是在1NF的基础上指定的,即设计数据库时在考虑第二范式的规定时,首先要满足第一范式的要求。
一个表可以代表现实世界中的一个实体,表中的一行是实体中的一个对象,现实世界的一个实体中不应该存在两个完全相同的对象,因此,2NF的意思是表中不能同时存在两个相同的记录。如果表中现有的列还不能对不同的实体加以区分,则必须增加一个能够唯一标识实体的列。通俗地讲,第二范式要求表中的行不能重复,必须是唯一的。
第三范式
第三范式(3NF)要求一个数据库表中不包含已在其他表中存在的非主键信息。3NF是在2NF的基础上制定的,若要满足第三范式,必须先满足第二范式第三范式既可以避免数据冗余,有可以保证数据库状态的一致性。