构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。
关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式.
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
1NF:第一范式就是无重复的列,并且数据库表的每一列都是不可分割的基本数据项。也就是说每一行代表一个实体,实体的某个属性如果有重复就要定义一个新的实体.
2NF: 第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求实体的属性完全依赖于主关键字。也就是说在数据库表中添加主键,使得数据库表中的各个实体(元组)可以被唯一的区分。再详细一点意思就是说要使得设计表中的非主属性全部能由主键唯一确定。从单张表来看要求表中的属性不依赖于其它非主属性。
3NF: 满足第三范式(3NF)必须先满足第二范式(2NF)。简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。也就是说A表和B表只能通过主外键的关系来关联,对方表的非主关键字只能通过主键的查询来得到。
一般说来,数据库只需满足第三范式(3NF)就可以了。