三种范式

2013-02-28
  • 791
  • 0

这两天每天在进行对数据库的维护工作,故对数据库建表的相关知识深入了解了一下。数据库建表主要有三种范式。那么,什么是范式呢?为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。要想设计一个结构合理的关系型数据库,必须满足一定的范式。具体到三种范式,到底是哪三种呢?

第一范式:要求关系模式R的所有属性都是不可分的基本数据项,指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。

第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式。第二范式首先要求数据库表中首先必须有主键。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。其次要求实体的属性完全依赖于主关键字。

第三范式是第二范式的一个子集,即满足第三范式必须满足第二范式。第三范式需要确保数据表中的每一列数据都和主键直接相关,而不能间接相关。简而言之,就是要求一个关系中不包含已在其它关系已包含的非主关键字信息。在实际开发中,通常满足第三范式即可。