资料库设计範式关係资料库中的关係必须满足一定的要求,即满足不同的範式。
基本介绍
- 中文名:资料库设计範式
- 外文名:Database design paradigm
简介
关係资料库中的关係必须满足一定的要求,即满足不同的範式。
关係数据库有六种範式:第一範式(1NF)、第二範式(2NF)、第三範式(3NF)、巴德斯科範式(BCNF)、第四範式(4NF)和第五範式(5NF)。满足最低要求的範式是第一範式(1NF)。在第一範式的基础上进一步满足更多要求的称为第二範式(2NF),其余範式以次类推。一般说来,资料库只需满足第三範式(3NF)就行了。
设计关係型资料库时,遵从不同的规範要求,设计出合理的关係型资料库。这些规範被称作範式。越高的範式资料库的冗余度就越低。
第一範式
无重複的列
资料库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性
在任何一个关係资料库中,第一範式(1NF)是对关係模式的设计基本要求,一般设计中都必须满足第一範式(1NF)。不过有些关係模型中突破了1NF的限制,这种称为非1NF的关係模型。换句话说,是否必须满足1NF的最低要求,主要依赖于所使用的关係模型。
第二範式
属性完全依赖于主键
第二範式(2NF)是在第一範式(1NF)的基础上建立起来的,即满足第二範式(2NF)必须先满足第一範式(1NF)。
当存在多个主键的时候,才会发生不符合第二範式的情况。比如有两个主键,不能存在这样的属性,它只依赖于其中一个主键,这就是不符合第二範式。
如果存在不符合第二範式的情况,那幺这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关係。
第三範式
属性不能传递依赖于主属性(属性不依赖于其它非主键属性)
第三範式(3NF)是在第二範式(2NF)的基础上建立起来的,即满足第三範式(3NF)必须先满足第二範式(2NF)。
如果某一属性依赖于其他非主键属性,而其他非主键属性又依赖于主键,那幺这个属性就是间接依赖于主键,这被称作传递依赖于主属性。
下面以一个学校的学生系统为例分析说明这几个範式的套用。首先我们确定一下要设计的内容包括那些。学号、姓名、年龄、性别、电话、系别、系办地址、系办电话、课程、学分、成绩,等信息。