数据库原理及应用课件:第3章 关系数据库设计理论_第1页
数据库原理及应用课件:第3章 关系数据库设计理论_第2页
数据库原理及应用课件:第3章 关系数据库设计理论_第3页
数据库原理及应用课件:第3章 关系数据库设计理论_第4页
数据库原理及应用课件:第3章 关系数据库设计理论_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库原理及应用第3章 关系数据库设计理论当真正设计一个关系数据库时,需要考虑的问题还比较多,比如一个关系数据库到底需要设计几个关系模式才合适,什么样的关系模式才是最优化的,每一个关系应该由哪些属性组成等,这就需要对关系模式的一些性质做更深入的研究。 主要包括:数据依赖、范式和关系模式的规范化设计方法。其中数据依赖研究数据之间的联系;范式是关系模式的标准;规范化设计方法则是实际设计时所遵循的基础。 3.1 关系模式设计中的问题学号姓名课程号课程名020601张延C1程序设计020601张延C2模拟电路020601张延C5操作系统020602李波C1程序设计020602李波C3计算机英语0206

2、02李波C4数据库原理020603王立C6网页设计问题: (1)数据冗余。(2)操作异常。插入异常删除异常更新异常3.2 数据依赖 定义3.1 设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作XY。若XY,则X叫做决定因素(Determinant)。若XY,YX,则记作XY。若Y不函数依赖于X,则记作X Y 。 例3.1试找出学生关系(Sno,Sdept,Mname,Cname,Grade)中的函数依赖。 其中属性分别表示学号(Sno),系名(Sdep

3、t),系负责人(Mname),课程名(Cname)和成绩(Grade)。 SnoCnameSdeptMnameGrade学生关系的数据库模式S(U,F):U = Sno,Sdept,Mname,Cname,GradeF = SnoSdept,SdeptMname,(Sno,Cname)Grade 设X和Y为关系模式R中的属性或属性集,一般存在如下推断规则:如果X和Y之间是1:1的联系,则存在函数依赖XY和YX。如果X和Y之间是1:n的联系,则存在函数依赖YX。如果X和Y之间是n:n的联系,则X和Y之间不存在函数依赖。设X和Y为关系模式R中的属性或属性集,一般存在如下推断规则:R(U)=学号,姓

4、名学号和姓名之间的关系为1:1。记作:学号姓名R(U)=学号,课号学号和姓名之间的关系为1:n。记作:课号学号姓名学号3.2.2几种特殊的函数依赖完全函数依赖与部分函数依赖定义3.2:在关系模式R(U)中,U是R的属性集合,X,Y是U的子集。如果 XY,并且对于X的任何一个真子集X1,都有X1Y,则称“Y完全函数依赖于X”,记作XfY。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XpY。3.2.2几种特殊的函数依赖 共同确定的,其中Sno,Cname中的任何一个都不能单独确定Grade, 故Grade完全函数依赖于(Sno,Cname)。而Sdept由Sno就可以单独确定,故S

5、dept部分函数依赖于(Sno,Cname)。R(U)=Sno, Cname, Grade, SdeptX=Sno, CnameY=GradeX1=Sno或X2=Cname(Sno,Cname)GradeSdeptfpXYPXYfX2YX1Y有且Y=Sdept3.2.2几种特殊的函数依赖传递函数依赖定义3.3 在关系模式R(U)中,设X、Y、Z是R的三个不同属性子集,如果 XY,YZ,且Y不包含于X,Z不包含于Y,YX,则称“Z传递函数依赖于X”,记作XZ。3.2.2几种特殊的函数依赖传递函数依赖R(U) =Sno, Sdept, Mname X=Sno Y=Sdept Z=Mname如果 X

6、Y,YZ,且Y不包含于X,Z不包含于Y,YX,则称“Z传递函数依赖于X”,记作XZ。在例3.1中,由于SnoSdept又有SdeptMname,故Mname传递函数依赖于Sno。3.2.2几种特殊的函数依赖平凡函数依赖和非平凡函数依赖定义3.4 设关系模式R(U),X、Y U,如果XY,且Y X,则称XY为平凡的函数依赖;如果XY,且Y不是X的子集,则称XY为非平凡的函数依赖。说明:对于任何一个关系模式,平凡函数依赖总是必然成立的。所以如果不是特别声明,我们讨论的都是非平凡函数依赖。 3.2.2几种特殊的函数依赖平凡函数依赖和非平凡函数依赖R(U)=Sno,Cname,Grade,SdeptX

7、=Sno, Cname, GradeY=Grade 如果X,Y是U的子集,如果XY,且Y是 X子集,则称XY为平凡的函数依赖; 3.2.2几种特殊的函数依赖平凡函数依赖和非平凡函数依赖R(U)=Sno,Cname,Grade,SdeptX=Sno, CnameY=Grade 如果XY,且Y不是X的子集,则称XY为非平凡的函数依赖。说明:对于任何一个关系模式,平凡函数依赖总是必然成立的。所以如果不是特别声明,我们讨论的都是非平凡函数依赖。3.2.3 逻辑蕴涵 定义3.5 设F是在关系模式R上成立的函数依赖的集合,XY是一个函数依赖。如果对于R的每个满足F的关系r也满足XY,那么称F逻辑蕴涵XY。

8、3.2.3 逻辑蕴涵 在例3.1中,根据各属性的语义可知学生关系模式的函数依赖集合F = SnoSdept,SdeptMname,(Sno,Cname)Grade,由SnoSdept,SdeptMname可推导出SnoMname,因此F中有函数依赖SnoMname,即F逻辑蕴涵SnoMname。3.2.3 逻辑蕴涵 定义3.6 设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F的闭包(Closure),记为F+。Armstrong公理 (1)自反律(Reflexivity):若Y X U,则F蕴涵XY。(2)增广律(Augmentation):若F蕴涵XY,Z U,则F蕴

9、涵XZYZ。(3)传递律(Transitivity):若F蕴涵XY和YZ,则F蕴涵XZ。3.3 范式构造数据库必须遵循一定的规则。关系模式的规范形式,简称范式(Normal Form,NF)。关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF范式、第四范式(4NF)、第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。3.3.1 第一范式(1NF)在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式关系模式 ,简记为R1NF 。满足1NF的关系模式并不一定是一个好关系模式。第一范式中往往存在以下四个问题。

10、数据冗余太大;更新复杂;插入异常;删除异常。 教师信息表就未满足第一范式: 教师工号教师姓名总工资基本工资职务工资课时工资0001高如飞15005007500002江华20005006000003章丽霞25001000300规范后成1NF的教师信息表教师工号教师姓名基本工资职务工资课时工资0001高如飞15005007500002江华20005006000003章丽霞250010003003.3.2 第二范式(2NF) 若关系模式R是1NF,且所有非主属性都完全函数依赖于任意一个候选码,则称R 是第二范式关系模式,简记为R2NF。第二范式(2NF)要求实体的属性完全依赖于主码。 例3.3:选课

11、关系 SC(SNO,CNO,GRADE,CREDIT),其中SNO为学号, CNO为课程号,GRADEGE 为成绩,CREDIT 为学分。 分析实际情况可知,选课关系SC的主码为(SNO,CNO)构成的属性组,GRADE,CREDIT为非主属性;而CREDIT仅函数依赖于CNO,也就是CREDIT部分依赖于主码(SNO,CNO)而不是完全依赖;故该选课关系不是第二范式关系模式。 3.3.3 第三范式(3NF)若关系模式R是2NF,且所有非主属性对任何候选关键字都不存在传递函数依赖,则称R是第三范式关系模式 ,即若R3NF,则R的每一个非主属性既不部分函数依赖于候选码,也不传递函数依赖于候选码。

12、一般说来,数据库只需满足第三范式(3NF)就行了 例3.4:如Stu(SNO,SNAME,DNO,DNAME,LOCATION)各属性分别代表学号,姓名,所在系,系名称,系地址。分析关系模式Stu可知,不存在非主属性部分依赖关键字的问题,所以关系模式Stu满足2NF。F=SNOSNAME,SNODNO,SNODNAME,SNOLOCATION,DNODNAME,DNOLOCATION显然Stu关系模式中的主码是SNO,由于SNODNO而DNODNAME,DNOLOCATION;DNAME和LOCATION是通过DNO传递函数依赖于主码SNO的;故关系模式Stu不满足3NF的条件,只达到了2NF

13、。该模式存在以下情况:数据冗余太大。更新异常。插入异常。删除异常。3.3.4 BCNF范式(*)定义:若关系模式R1NF ,如果对于R的每个函数依赖XY,若Y不包含于X,则X必含有候选码。那么RBCNF。即在关系模式R中,如果每一个决定属性集都包含候选码,则RBCNF。即在3NF的基础上,消除了主属性对码的部分依赖和传递依赖,所在属性都不部分依赖或传递依赖于码。BCNF三个性质BCNF具有三个性质:(1)所有非主属性都完全函数依赖于每个候选码。(2)所有主属性都完全函数依赖于每个不包含它的候选码。(3)没有任何属性完全函数依赖于非码的任何一组属性。如果R中只有一个候选码,如R3NF,则必定RB

14、CNF。3.4 关系模式的规范化规范化的基本思想是逐步消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的“分解”,即采用“一事一地”的模式设计原则,让一个关系描述一个概念、一个实体或者实体间的一种联系。即“概念单一化”。3.4.1 规范化步骤1NF2NF3NFBCNF4NF5NF消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除不是由候选码所蕴含的连接依赖消除决定属性集非码的非平凡函数依赖3.4.2 关系模式的分解的准则(*) 要保证分解后的关系模式与原关系模式等价。有三种标准:(1)分解具有无损连接性

15、。(2)分解要保持函数依赖。(3)分解既要保持函数依赖,又要保持无损连接性。一个关系模式分解的探讨 关系模式: SL(sno,sdept,sloc) 分解方法有:方法一:SN(sno), SD(sdept),SO(sloc) 丢失了很多有用的信息,分解不能保持函数依赖,不具有无损连接性。方法二:NL(sno,sloc),DL(sdept,sloc) 分解能保持函数依赖,但不具有无损连接性。方法三:ND(sno,sdept),NL(sno,sloc) 分解具有无损连接性,但不能保持函数依赖 。方法四:ND(sno,sdept),DL(sdept,sloc) 分解既能保持函数依赖,又具有无损连接性。无损连接性 设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2).Rn(Un,Fn),(其中U=U1U2Un,且不存在Ui包含于Uj中,Ri为F在Ui上的投影),若R与R1,R2.Rn自然连接的结果相等,则称关系模式R的分解具有无损连接性。只有具有无损连接性的分解才能保证不丢失信息。例如方法三:ND(sno,sdept)

温馨提示

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

评论

0/150

提交评论