您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > 第四章 关系数据库设计理论
第四章关系数据库设计理论4.1数据依赖4.1.1关系模式中的数据依赖R(U,D,DOM,F)关系模式的简化R(U,F)当且仅当U上的一个关系r满足F时,r称为关系模式R(U,F)的一个关系。F是属性间数据的依赖关系集合。4.1.2数据依赖对关系模式的影响U={Sno,Sdept,Mname,Cname,Grade}①一个系有若干学生,但一个学生只属于一个系;②一个系只有一个主任;③一个学生可以选修多门课程,每门课程有若干学生选修;④每个学生所学的每门课程都有一个成绩。F={SnoSdept,SdeptMname,(Sno,Cname)Grade}SnoSdeptMnameCnameGrade95001IS张明数据库8595002IS张明数据库8095001IS张明数学8295003IS张明数据库7995004IS张明信息系统8395005MA李鑫数据库7895006IS张明数学854.1.3有关概念1.函数依赖定义1:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。①若XY,则称X为这个函数依赖的决定属性集。②若XY,并且YX,则记为XY。③若Y不函数依赖于X,则记为XY。2.平凡函数依赖与非平凡函数依赖定义2.在关系模式R(U)中,对于U的子集X和Y,如果XY,但YX,则称XY是非平凡函数依赖。若YX,则称XY称为平凡函数依赖。3.完全函数依赖与部分函数依赖定义3.在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X’,都有X’Y,则称Y完全函数依赖于X,记作XY。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XY。fp4.传递函数依赖定义4.在关系模式R(U)中,如果XY,YZ,且YX,ZY,YX,则称Z传递函数依赖于X。例:在关系Student(Sno,Sname,Ssex,Sage,Sdept)中,有SnoSsex,SnoSage,SnoSdept,SnoSname(无重名)但SsexSage.在关系SC(Sno,Cno,Grade)中,有SnoGrade,CnoGrade,(Sno,Cno)Grade。(Sno,Cno)是决定属性集。在关系Std(Sno,Sdept,Mname)中,有SnoSdept,SdeptMname,SnoMname.传递5.码定义5.设K为关系模式RU,F中的属性或属性组合。若KU,则K称为R的一个候选码。若关系模式R有多个候选码,则选定其中的一个做为主码。f4.2范式范式:符合某一种级别的关系模式的集合。通常把某一关系模式R为第n范式简记为R∈nNF。4.2.1第一范式(1NF)定义7.如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。例:关系模式SLG(Sno,Sdept,Sloc,Cno,Grade)(Sno,Cno)GradeSnoSdept(Sno,Cno)SdeptSnoSloc(Sno,Cno)SlocSdeptSlocfppGradeSnoCnoSdeptSloc4.2.2第二范式(2NF)把SLC分解为两个关系模式:SC(Sno,Cno,Grade)SL(Sno,Sdept,Sloc)GradeSnoCnoSnoSdeptSlocSCSL定义7.若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF.2NF不允许关系模式的属性之间有这样的函数依赖XY,其中X是码的真子集,Y是非主属性。4.2.3第三范式(3NF)SL(Sno,Sdept,Sloc)分解为两个关系模式:SD(Sno,Sdept)DL(Sdept,Sloc)SnoSdept候选码SdeptSloc候选码SDDL定义8.如果关系模式RU,F中不存在候选码X,属性组Y以及非主属性Z(ZY),使得XY,YZ和YX成立,则R∈3NF.例:关系模式STJ(S,T,J)(S,J)T,(S,T)J,TJSJTSTJ候选码候选码4.2.4BC范式(BCNF)ST(S,T)TJ(T,J)STTJSTTJ定义9.设关系模式RU,F∈1NF,如果对于R的每个函数依赖XY,若YX,则X必含有候选码,那么R∈BCNF。BCNF的性质:①所有非主属性都完全函数依赖于每个候选码。②所有主属性都完全函数依赖于每个不包含它的候选码。③没有任何属性完全函数依赖于非码的任何一组属性。4.2.5多值依赖与第四范式(4NF)课程C教师T参考书B数学邓军数学分析李邓军高等代数数学陈斯高等代数数学陈斯数学分析物理李平普通物理学物理李平光学原理物理王强普通物理学物理王强光学原理物理刘明普通物理学Teach(C,T,B)课程C教师T参考书B,Teach∈BCNF1.多值依赖定义10.设R(U)是一个属性集U上的一个关系模式,X,Y和Z是U的子集,并且Z=U-X-Y,多值依赖XY成立,当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。若XY,而Z=∮,则称XY为平凡的多值依赖。否则称XY为非平凡的多值依赖。定义11.在关系模式R(U)的任一关系r中,如果对于任意两个元组t,s,有t[X]=s[X],就必存在元组w,v∈r(w和v可以与s和t相同),使得w[X]=v[X]=t[X],而w[Y]=t[Y],w[Z]=s[Z],v[Y]=s[Y],v[Z]=t[Z],即交换s,t元组的Y值所得的两个新元组必在r中,则称Y多值依赖于X,记为XY。其中,X和Y是U的子集,Z=U-X-Y。多值依赖的性质:多值依赖对称性。若XY,则XZ,其中Z=U-X-Y。多值依赖具有传递性。即若XY,YZ,则XZ-Y。函数依赖可以看作是多值依赖的特殊情况。即若XY,则XY。若XY,XZ,则XYZ。若XY,XZ,则XY∩Z。若XY,XZ,则XY-Z,XZ-Y。多值依赖的有效性与属性集的范围有关。若多值依赖XY在R(U)上成立,对于Y’Y,并不一定有XY’成立。但是如果函数依赖XY在R上成立,则对于任何Y’Y,均有XY’成立。第四范式(4NF)定义12.关系模式RU,F∈1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有候选码,则R∈4NF.4.3关系模式的规范化关系模式的规范化一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式集合,这种过程就叫关系模式的规范化。规范化程度可以有6个不同级别,即6个范式。4.3.1关系模式规范化的步骤规范化的基本思想:逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分离”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。若多于一个概念就把它“分离”出去,因此所谓规范化实质上是概念的单一化。关系模式规范化的基本步骤1NF2NF3NFBCNF4NF5NF消除决定属性集非码的非平凡函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除不是由候选码所蕴含的连接依赖4.3.2关系模式的分解无损连接性设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn(其中U=U1∪U2∪U…∪Un,且不存在UiUj,Fi为F在Ui上的投影),若R与R1,R2,…,Rn自然连接的结果相等,则称关系模式R的这个分解具有无损连接性。保持函数依赖若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的。判断对关系模式分解是否与原关系模式等价的标准:分解具有无损连接性分解要保持函数依赖分解既要保持函数依赖,又要具有无损连接性SL(Sno,Sdept,Sloc)SnoSdeptSdeptSlocSnoSlocSL分解1:SN(Sno)SD(Sdept)SO(Sloc)SNSDSO分解2:NL(Sno,Sloc)DL(Sdept,Sloc)NLDLNL和DL自然连接:分解3:ND(Sno,Sdept)NL(Sno,Sloc)NDDLND和NL关系进行自然连接:分解4:ND(Sno,Sdept)DL(Sdept,Sloc)若要求分解具有无损连接性,那么模式分解一定能够达到4NF。若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不一定能够达到BCNF。若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。
本文标题:第四章 关系数据库设计理论
链接地址:https://www.777doc.com/doc-4400477 .html