数据库规范化管理理论_第1页
数据库规范化管理理论_第2页
数据库规范化管理理论_第3页
数据库规范化管理理论_第4页
数据库规范化管理理论_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

第4章关系数据库设计理论

(关系数据库的规范化理论)4.1数据依赖4.2范式4.3关系模式的规范化

第一页,共三十三页。4.1数据依赖4.1.1关系模式中的数据依赖4.1.2数据依赖对关系模式的影响4.1.3有关概念第二页,共三十三页。4.1.1关系模式中的数据依赖

关系模式:R<U,D,DOM,F>简记为:R<U,F>R是符号化的关系名;

U是属性名的集合;

D是属性组U的取值范围,是域的集合;

DOM为属性U到域D的映射集合;

F是属性U间数据的依赖关系集合。

数据依赖一个关系内部属性与属性之间的一种约束关系,描述的是关系中元组的语义。第三页,共三十三页。4.1.2数据依赖对关系模式的影响示例:Student关系模式U={Sno,Sdept,Mname,Cname,Grade}数据语义:系与学生之间是1:n的联系一个系只有一个主任学生与课程之间是m:n的联系每个学生的每门课都有成绩第四页,共三十三页。SnoCnameSdeptMnameGrade主码?F={SnoSdept,SdeptMname,

(Sno,Cname)Grade}第五页,共三十三页。上述模式存在如下问题:

数据冗余量大更新复杂、量大(更新异常)插入异常删除异常好的模式应不发生异常,且冗余较小。第六页,共三十三页。4.1.3有关概念

不好的关系模式是由于存在不合适的数据依赖所造成的;规范化理论致力于解决关系模式中不合适的数据依赖;函数依赖和多值依赖第七页,共三十三页。1.函数依赖定义:设R(U)是属性集U上的一个关系模式,X,Y是U的子集。对于R(U)的任意一个可能的关系,不可能有两个元组在属性集X上的值相同而在Y上的值不同,则称X函数确定Y或Y函数依赖于X,记作XY,X称为这个函数依赖的决定属性集。

XYX↔Y函数依赖完全是由数据的语义决定的。第八页,共三十三页。例Student(Sno,Sdept,Mname,Cname,Grade)假设不允许重名第九页,共三十三页。2.平凡函数依赖与非平凡函数依赖

平凡函数依赖XYYX

非平凡函数依赖XYYX例:SC(Sno,Cno,Grade)第十页,共三十三页。3.完全函数依赖与部分函数依赖

完全函数依赖

在关系模式中,若XY,X′Y,那么Y完全函数依赖于X。记作XY。部分函数依赖在关系模式中,若XY,X′Y,那么Y部分函数依赖于X。记作XY。fp例:Student(Sno,Sdept,Mname,Cname,Grade)第十一页,共三十三页。

在关系模式中,若XY,且YZ,但YX,那么属性集Z传递函数依赖于X。记作XZ。4.传递函数依赖t例:Student(Sno,Sdept,Mname,Cname,Grade)第十二页,共三十三页。

码是关系模式中的一个重要概念码可以用函数依赖的概念来严格定义

KU

候选码主码外码5.码f最小属性集!第十三页,共三十三页。4.2范式满足一定约束条件的关系模式的集合称为范式5NF4NFBCNF3NF2NF1NF4.2.1第一范式(1NF)4.2.2第二范式(2NF)4.2.3第三范式(3NF)4.2.4BC范式(BCNF)4.2.5多值依赖与第四范式(4NF)第十四页,共三十三页。4.2.11NF定义:若关系模式R中的所有属性都是不可分的基本数据项,则R∈1NF。关系模式必须满足第一范式SLC(Sno,Sdept,Sloc,Cno,Grade)冗余大、更新异常不是好的关系模式!例:Student(Sno,Sdept,Mname,Cname,Grade)第十五页,共三十三页。4.2.22NF定义:若R∈1NF,并且每一个非主属性都完全函数依赖于码,则R∈2NF。S1(Sno,Cname,Grade)S2(Sno,Sdept,Mname)Student

∈1NF投影分解冗余大、更新异常不是好的关系模式!第十六页,共三十三页。4.2.33NF定义:若R∈2NF,并且每一个非主属性不传递函数依赖于码,则R∈3NF。S21(Sno,Sdept)S22(Sdept,Mname)S2

∈2NF投影分解3NF基本上能消除冗余和更新异常∈3NFS1?第十七页,共三十三页。例:STJ(S,T,J)

每门课由若干老师教每位老师只教一门课学生选了某门课学生听了某老师的课∈3NF存在问题!第十八页,共三十三页。4.2.4BCNF定义:若R∈1NF,并且对于每一个非平凡函数依赖X

Y,X必含有码,则R∈BCNF。结论:所有非主属性都完全函数依赖于每个码所有主属性都完全函数依赖于每个不包含它的码没有任何属性完全函数依赖于非码的任何一组属性3NF与BCNF的关系?第十九页,共三十三页。STJ

∈3NFST(S,T)TJ(T,J)投影分解∈BCNF例:SJP(S,J,P)S:学生J:课程P:名次第二十页,共三十三页。3NF和BCNF通常都是数据库设计者所追求的关系范式,有时统称为第三范式;如果一个关系数据库的所有关系模式都属于BCNF,在函数依赖范畴内,它已达到了最高的规范化程度,消除了异常。第二十一页,共三十三页。例:Teach(C,T,B)码?范式?好的关系模式?第二十二页,共三十三页。4.2.5多值依赖与4NF1.多值依赖定义:设R(U)是属性集U上的一个关系模式,X,Y,Z是U的子集,Z=U-X-Y,若R(U)的任意一个关系,对于(X,Z)的每个值,存在Y的一组值与其对应,且Y的这组值仅仅决定于X值而与Z值的无关,则:

Z为空时,称XY为平凡的多值依赖

Z非空时,称XY为非平凡的多值依赖第二十三页,共三十三页。Teach(C,T,B)C

BC

TWMP(W,M,P)第二十四页,共三十三页。2.4NF定义:若R∈1NF,并且对于每一个非平凡多值依赖X

Y(Y不被X包含),X必含有码,则R∈4NF。BCNF与4NF的关系?WMP(W,M,P)WM(W,M)WP(W,P)投影分解∈4NF第二十五页,共三十三页。小结在函数依赖范畴内,BCNF是规范化程度最高的;在多值依赖范畴内,4NF是规范化程度最高的;连接依赖与5NF。第二十六页,共三十三页。4.3关系模式的规范化4.3.1关系模式规范化的步骤4.3.2关系模式的分解第二十七页,共三十三页。4.3.1关系模式规范化的步骤1NF

消除非主属性对码的部分函数依赖2NF

消除非主属性对码的传递函数依赖3NF

消除主属性对码的部分和传递函数依赖BCNF

消除非平凡且非函数依赖的多值依赖4NF

消除不是由候选码所蕴含的连接依赖5NF*消除决定属性集非码的非平凡函数依赖第二十八页,共三十三页。4.3.2关系模式的分解定义:关系模式R(U,F)的分解就是用一组关系模式R1(U1,F1),R2(U2,F2)…,Rn(Un,Fn)来取代R,其中U=U1∪U2∪…∪Un,且不存在UiUj,Fi为F在Ui上的投影。

分解后的关系模式应与原关系模式等价第二十九页,共三十三页。

无损连接的分解不丢失信息,且定能达到4NF

保持函数依赖的分解减轻异常,且定能达到3NF

既保持函数依赖又无损连接的分解定能达到3NF第三十页,共三十三页。SL(Sno,Sdept,Sloc)的分解分解1:SN(Sno),SD(Sdept),SO(Sloc)分解2:NL(Sno,Sloc),DL(Sdept,Sloc)分解3:ND(Sno,Sdept),NL(Sno,Sloc)分解4:ND(Sno,Sdept),DL(Sdept,Sloc)分解时,最好一个关系出现一个基本的函数依赖第三十一页,共三十三页。对错题:任何一个二目关系都是属于3NF;任何一个二目关系都是属于BCNF;任何一个二目关系都是属于4NF;当且仅当函数依赖AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接;若R.AR.B,R.BR.C,则R.AR.C;若R.AR.B,R.AR.C,则R.AR.(B.C);若R.BR.A,R.CR.A,则R.(B,C)R.A;若R.(B,C)R.A,则R.BR.A,R.CR.A;第三十二页,共三十三页。内容总结第4章关系数据库设计理论。D是属性组U的取值范围,是域的集合。一

温馨提示

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

评论

0/150

提交评论