关系数据库设计理论_第1页
关系数据库设计理论_第2页
关系数据库设计理论_第3页
关系数据库设计理论_第4页
关系数据库设计理论_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章关系数据库设计理论§1函数依赖的基本概念一、问题的提出---数据依赖及其影响例设:建立某数据库需要如下属性:供应商号(sno)、供应商所在城市(city)、

邮编(zip)、零件号(pno),供应某种零件的数量(qty)。方案之一:用一个关系模式创建该数据库:

FIRST(sno,city,zip,pno,qty)KEY=(sno,pno)1存在问题:

实例:FIRST(sno,city,zip,pno,qty)s1c1z1p1100s1c1z1p2200s2c2z2p1160s2c2z2p33201)数据冗余度太大。2)修改异常。可能导致数据库数据不一致。3)删除异常。可能导致数据库丢失信息。2

方案之二:用两个关系模式,创建该数据库:模式一:SECOND(sno,city,zip)KEY=(sno)

模式二:SP(sno,pno,qty)KEY=(sno,pno)实例:

SECOND(sno,city,zip)s1c1z1s2c2z2

SP(sno,pno,qty)s1p1100s1p2200s2p1160s2p33203二、函数依赖基本概念

注:1)“XY”必须对R(U)的任何一个关系实例都成立。

2)若XY,YX,则记作X←→Y。若Y不函数依赖X,则记作XY。1.函数依赖定义设:R(U)是属性集U上的关系模式,X,YU。如果对于R(U)的任意一个关系r,以及r的任意两个元组t1,t2,不存在:t1[x]=t2[x],而t1[Y]t2[Y],则称X函数决定Y,或者说Y函数依赖于X。记为:XY。4

实例:FIRST(sno,city,zip,pno,qty)s1c1z1p1100s1c1z1p2200s2c2z2p1160s2c2z2p3320

分析:

sno

pno?

sno

zip?

(sno,pno)

qty?

(sno,pno)

zip?3)函数依赖是现实世界数据关联的表现形式。zip

city?sno

city?

sno

qty?

sno

zip?不同?!5

b.一个系只有一名负责人;例设一个关系模式需保存如下属性:

U={S#,SD,MN,CN,G}。其中:

S#:学生,SD:系,MN:系负责人,

CN:课程,G:成绩。已知:现实世界规定如下:

a.一个学生只属于一个系;

c.每个学生学过一门课,最多获得一个成绩。F={S#SD,SDMN,(S#,CN)G}6

1)定义完全函数依赖:在R(U)中,如果XY,且对X的任何一个真子集X’,都有X’Y,则称Y对X完全函数依赖,记作:XfY

2)定义部份函数依赖:在R(U)中,如果XY,但Y不完全函数依赖X,则称Y对X部份函数依赖,记作XPY。2.完全函数依赖与部分函数依赖YAYBY(A,B)YfYYAB(A,B)Yp7

例FIRST(sno,city,zip,pno,qty)

有:snozip,zipcity,(sno,pno)fqty

但:(sno,pno)

Pzipsnopnozipcity

Qty

8

在R(U)中,如果X→Y,YX(YX),Y→Z,则称Z传递函数依赖于X,记为XtZ。

∴sno

t

city

SECOND(Snocityzip)S1Beijing100044S2Beijing100044S3Shanghai200001

例关系模式SECOND(sno,city,zip)中,

3.传递函数依赖定义:∵sno→zip,zip→city9

4.非平凡的函数依赖:若X→Y,且YX,则称X→Y是非平凡的函数依赖。例(sno,pno)qty……非平凡的函数依赖(sno,pno)pno……平凡的函数依赖5.如果K是关系模式R(U)的一个键码,则必有:KU例对于关系模式:Student(Sno,Sname,Sage)若Sno和

Sname都是Student的键码,则必有:

Sno

Sno,Sname,SageSname

Sno,Sname,Sage成立。和10

关系数据库的任意一个关系,需要满足一定的数据依赖约束。满足不同程度数据依赖约束的关系,称为不同范式的关系。

满足最低要求,即:关系模式的各属性域是“原子”的,则该关系模式是第一范式的,简称1NF(1NormalForm)。

不同范式的关系,存在不同程度的数据冗余等缺点。尽量克服这些缺点,需要对关系模式进行分解,使之从低一级范式,转化为高一级范式的集合。这种分解过程称为规范化。

§2关系模型的规范化11∴FIRST2NF1.定义:设R是一个关系模式。若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。

一、2NF2.理解:若R2NF,则R中不存在非主属性对码的部份函数依赖。例FIRST(sno,city,zip,pno,qty)KEY=(Sno,pno)显然,FIRST1NF∵存在(sno,pno)P

city,zip12

SECOND(sno,city,zip),KEY=(sno)

SP(sno,pno,qty),KEY=(sno,pno)

∴SECOND2NF,SP2NF。

因而,整个关系数据库模式也是2NF的。

sno

zip

citysnopnoqty13二、3NF2.理解:若R∈3NF,则R中不存在非主属性对码的传递函数依赖。1.定义:如果关系模式R(U,F)是2NF的,且不存在键码X、属性组Y以及非主属性Z,使得X→Y,Y→Z成立,则R∈3NF(ZY)(YX)(参考:C.j.Date:数据库系统导论:p270

机械工业出版社2000年10月第一版)14

例1SECOND(sno,city,zip),KEY=(sno)

sno

zip

city

显然,SECOND2NF,但:SECOND3NF

而:SECOND1(sno,zip),以及

SECOND2(zip,city)

已经达到3NF15

例2设:关系模式STJ(S,T,J)其中:

S:学号;T:教师;J:课程。

问题:如何形式地确定一个关系模式的键码?

规定:

a.一个教师教一门课,一门课可以有不止一个教师讲授;

b.一个学生选一门课,就确定一位教师。

(1)

F:{T→J,(S,J)→T}

(2)STJ的键码:(S,J)和(S,T)

∴STJ中没有非主属性。显然,STJ∈3NF。161.定义:设:关系模式R∈1NF。如果对于R的每一个函数依赖X→Y(YX),X都含有键码,那么R∈BCNF。

(2)在函数依赖范畴内,BCNF达到最高规范化程度。三、BCNF

2.理解:(1)BCNF具有以下性质:

a.所有非主属性完全依赖于每个键码。

b.所有主属性完全依赖于不包含它的键码。

c.没有任何(主/非主)属性完全函数依赖于任一非主属性(组)。17

例关系模式STJ(S,T,J)是3NF的,但不是BCNF的。

F={T→J,(S,J)→T}

可见:关系STJ中,存在主属性J部分依赖于不包含它的码(S,T)

STJ的键码:(S,J)和(S,T)∴STJ

BCNF18

例关系模式SJP(S,J,P)

其中:S:学号;J:课程;P:考试名次。

规定:①每个学生、每门课程都有一个确定的名次。

②每门课程、每个名次中只有一位学生。

(S,J)→P(J,P)→S键码:(S,J)和(J,P)。∴SJP∈BCNF19四、多值依赖和4NF(书p69:3.7)

课程C教师T参考书B

物理李勇普通物理学王军光学原理物理习题集数学周闵数学分析张平微分方程高等代数

1.一个例子例某学校一门课由多名教师讲授,他们都是使用同一套参考书。具体数据非规范地表示如下:20把上述数据库存入一张规范化的二维表:课程C教师T参考书B物理李勇普通物理学物理李勇光学物理物理李勇物理习题集物理王军普通物理学物理王军光学物理物理王军物理习题集数学周闵数学分析数学周闵微分方程数学周闵高等代数数学张平数学分析数学张平微分方程数学张平高等代数21课程C教师T参考书B物理李勇

普通物理学物理李勇光学物理物理李勇

物理习题集物理王军

普通物理学物理王军光学物理物理王军

物理习题集数学周闵数学分析数学周闵微分方程数学周闵高等代数数学张平数学分析数学张平微分方程数学张平高等代数tswv注:w、v可以与t、s相同。22李勇王军

普通物理光学物理物理习题集物理分析:1)上述关系TEACH(C,T,B)中,TEACH∈BCNF,KEY=(C,T,B)称为全码(ALL-KEY)。2)对于C的一个值(如C=‘物理’),有一组T值与之相对应,且这组值只与C有关,而与B的取值无关。注意:C、B亦然。232.多值依赖(1)定义:设:R是属性集U上的一个关系模式,X、Y和Z都是U的子集,并且Z=U–X–Y。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论