Home >Database >Mysql Tutorial >关于数据库的三种范式
关于数据库的三种范式介绍: 1. 第一范式: 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个,即
关于数据库的三种范式介绍:
1. 第一范式: 在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。
简而言之,第一范式就是每一张表无重复的列。
2. 第二范式:第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
这个唯一属性列被称为主关键字或主键、主码。
简而言之,第二范式就是每一张表有一个主键。
3. 第三范式:满足第三范式(3NF)必须先满足第二范式(2NF)。
第三范式就是属性不依赖于其它非主属性。符合第三范式的数据库表是正交且完备的。
简而言之,第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
在实际应用中,对于大多的关系数据库表设计:
基础性的表,应该符合第三范式,即表有主键,无冗余字段。
某些常用的业务表,存在一定的冗余性(重复加入某些基础表中的非主属性),这主要目的是为了提高多表级联查询的性能和效率而放弃对第三范式的限制。
所以,一般而言,数据库的设计介于第二范式到第三范式之间