数据库系统概论chp06课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库系统概论chp06课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 概论 chp06 课件
- 资源描述:
-
1、 数据库系统概论数据库系统概论第六章第六章 关系数据理论关系数据理论第六章第六章 关系数据理论关系数据理论6 6.1.1 问题的提出问题的提出6 6.2.2 规范化规范化6 6.3.3 数据依赖的公理系统数据依赖的公理系统*6 6.4.4 模式的分解模式的分解6 6.5.5 小结小结一、概念回顾一、概念回顾v关系关系v关系模式关系模式v关系数据库关系数据库v关系数据库的模式关系数据库的模式关系模式的形式化定义关系模式的形式化定义关系模式由五部分组成,即它是一个五元组:关系模式由五部分组成,即它是一个五元组:R(U,D,DOM,F)R(U,D,DOM,F)R R:关系名关系名U U:组成该关系的
2、属性名集合组成该关系的属性名集合DD:属性组属性组U U中属性所来自的域中属性所来自的域DOMDOM:属性向域的映象集合属性向域的映象集合F F:属性间数据的依赖关系集合属性间数据的依赖关系集合四、关系模式的简化表示四、关系模式的简化表示v关系模式关系模式R R(U,D,DOM,FU,D,DOM,F)简化为一个三元组:简化为一个三元组:R R(U,FU,F)v当且仅当当且仅当U U上的一个关系上的一个关系r r满足满足F F时,时,r r称为称为关系模式关系模式 R R(U,FU,F)的一个)的一个关系关系6.1 问题的提出问题的提出关系数据库逻辑设计关系数据库逻辑设计 针对具体问题,如何构造
3、一个适合于它针对具体问题,如何构造一个适合于它的数据模式的数据模式 数据库逻辑设计的工具数据库逻辑设计的工具关系数据库关系数据库的规范化理论的规范化理论 例例11建立一个描述学校教务的数据库:建立一个描述学校教务的数据库:学生的学号(学生的学号(SnoSno)、所在系()、所在系(SdeptSdept)系主任姓名(系主任姓名(MnameMname)、课程名()、课程名(CnameCname)成绩(成绩(GradeGrade)单一单一的关系模式的关系模式 :Student UStudent FU U Sno,Sdept,Mname,CnameSno,Sdept,Mname,Cname,Grade
4、 Grade 6.1 问题的提出问题的提出U U Sno,Sdept,Mname,CnameSno,Sdept,Mname,Cname,Grade Grade U U SnoSno,Sdept,Mname,Sdept,Mname,CnameCname,Grade Grade 6.1 问题的提出问题的提出 属性组属性组U U上的一组函数依赖上的一组函数依赖F F:F F Sno Sdept,Sdept MnameSno Sdept,Sdept Mname,(Sno,Cname (Sno,Cname)Grade)Grade SnoCnameSdeptMnameGrade6.1 问题的提出问题的提出
5、关系模式中存在的问题关系模式中存在的问题 数据冗余太大数据冗余太大浪费大量的存储空间浪费大量的存储空间 例:每一个系主任信息重复出现例:每一个系主任信息重复出现 更新异常更新异常 数据冗余数据冗余 ,更新数据时,维护数据完整性代更新数据时,维护数据完整性代价大。价大。例:系主任信息修改例:系主任信息修改U U SnoSno,Sdept,Mname,Sdept,Mname,CnameCname,Grade,Grade 关系模式中存在的问题关系模式中存在的问题 插入异常插入异常该插的数据插不进去该插的数据插不进去 例,插入一个新系信息。例,插入一个新系信息。删除异常删除异常不该删除的数据不得不删不
6、该删除的数据不得不删例,某系学生全部毕业例,某系学生全部毕业关系模式关系模式Student中存在的问题中存在的问题1.1.数据冗余太大数据冗余太大2.2.更新异常(更新异常(Update AnomaliesUpdate Anomalies)3.3.插入异常(插入异常(Insertion AnomaliesInsertion Anomalies)4.4.删除异常(删除异常(Deletion AnomaliesDeletion Anomalies)数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)结论:结论:nStudentStudent关系模式不是一个好的模式。关系模式不是一个好的模式
7、。n“好好”的模式:的模式:不会发生插入异常、删除异常、更新异常,不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少数据冗余应尽可能少原因:原因:由存在于模式中的由存在于模式中的某些数据依赖某些数据依赖引起的引起的解决方法:解决方法:通过通过分解分解关系模式来消除其中不合适关系模式来消除其中不合适 的数据依赖的数据依赖什么是数据依赖(续)什么是数据依赖(续)数据依赖数据依赖v一个关系内部属性与属性之间的约束关系一个关系内部属性与属性之间的约束关系v现实世界属性间相互联系的抽象现实世界属性间相互联系的抽象v数据内在的性质数据内在的性质v语义语义的体现的体现什么是数据依赖(续)什么是数据依赖
8、(续)数据依赖的类型数据依赖的类型v函数依赖函数依赖(Functional DependencyFunctional Dependency,简记,简记为为FDFD)v多值依赖(多值依赖(MultivaluedMultivalued Dependency Dependency,简,简记为记为MVDMVD)v其他其他分解关系模式分解关系模式v把这个单一模式分成把这个单一模式分成3 3个关系模式:个关系模式:S S(SnoSno,SdeptSdept,SnoSno SdeptSdept);SC SC(SnoSno,CnoCno,GradeGrade,(,(SnoSno,CnoCno)GradeGra
9、de);DEPT DEPT(SdeptSdept,MnameMname,SdeptSdept MnameMname)第六章第六章 关系数据理论关系数据理论6 6.1.1 问题的提出问题的提出6.2 6.2 规范化规范化6 6.3.3 数据依赖的公理系统数据依赖的公理系统*6 6.4.4 模式的分解模式的分解6 6.5.5 小结小结6.2 规范化规范化 规范化理论规范化理论正是用来改造关系模式,通过正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异赖,以解决插入异常、删除异常、更新异常和数据冗余问题。常和数据冗余
10、问题。6.2 规范化规范化6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结6.2.1 函数依赖函数依赖v函数依赖函数依赖v平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖v完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖v传递函数依赖传递函数依赖一、函数依赖一、函数依赖定义定义6 6.1 .1 设设R(
11、U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X X和和Y Y是是U U的子集。的子集。若对于若对于R(U)R(U)的的任意任意一个可能的关系一个可能的关系r r,r r中不可能中不可能存在两个元组在存在两个元组在X X上的属性值相等,上的属性值相等,而在而在Y Y上的属上的属性值不等,性值不等,则称则称“X X函数确定函数确定Y Y”或或 “Y Y函数依函数依赖于赖于X X”,记作,记作XYXY。说明说明 1.1.所有关系实例所有关系实例均要满足均要满足2.2.语义范畴语义范畴的概念的概念3.3.数据库设计者可以对现实世界作强制数据库设计者可以对现实世界作强制的规定的
12、规定二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)R(U)中,对于中,对于U U的子集的子集X X和和Y Y,如果如果XYXY,但,但Y Y X X,则称,则称XYXY是非平凡的函数依赖是非平凡的函数依赖若若XYXY,但,但Y Y X,X,则称则称XYXY是是平凡的函数依赖平凡的函数依赖v例:在关系例:在关系SC(Sno,CnoSC(Sno,Cno,Grade),Grade)中,中,非平凡函数依赖:非平凡函数依赖:(Sno,Cno(Sno,Cno)GradeGrade 平凡函数依赖:平凡函数依赖:(Sno,Cno(Sno,Cno)SnoSno (S
13、no,Cno)Cno (Sno,Cno)Cno平凡函数依赖与非平凡函数依赖(续)平凡函数依赖与非平凡函数依赖(续)若若X XY Y,则,则X X称为这个函数依赖的决定属称为这个函数依赖的决定属性组,也称为决定因素(性组,也称为决定因素(DeterminantDeterminant)。)。若若X XY Y,Y YX X,则记作,则记作X XY Y。若若Y Y不函数依赖于不函数依赖于X X,则记作,则记作X XY Y。三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖定义定义6 6.2 .2 在在R(U)R(U)中,如果中,如果XYXY,并且对于,并且对于X X的任何一个真子集的任何一个
14、真子集XX,都有,都有X Y,X Y,则则称称Y Y对对X X完全函数依赖完全函数依赖,记作,记作X X F F Y Y。若若XYXY,但,但Y Y不完全函数依赖于不完全函数依赖于X X,则称,则称Y Y对对X X部分函数依赖部分函数依赖,记作,记作X X P P Y Y。完全函数依赖与部分函数依赖(续)完全函数依赖与部分函数依赖(续)例例1 1 中中(Sno,Cno)GradeSno,Cno)Grade是完全函数依赖,是完全函数依赖,(Sno,Cno)SdeptSno,Cno)Sdept是部分函数依赖是部分函数依赖 FP因为因为SnoSdeptSnoSdept成立,且成立,且SnoSno是(
15、是(SnoSno,CnoCno)的真子集)的真子集四、传递函数依赖四、传递函数依赖定义定义6 6.3 .3 在在R(U)R(U)中,如果中,如果XYXY,(Y(Y X),X),YXYX YZYZ,则称则称Z Z对对X X传递函数依赖传递函数依赖。记为:记为:X ZX Z 注注:如果如果YXYX,即即XYXY,则,则Z Z直接依赖于直接依赖于X X。例例:在关系在关系Std(Sno,Sdept,MnameStd(Sno,Sdept,Mname)中,有:中,有:Sno SdeptSno Sdept,Sdept MnameSdept Mname Mname Mname传递函数依赖于传递函数依赖于Sn
16、oSno传递传递6 6.2 .2 规范化规范化6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结6.2.2 码码 定义定义6 6.4 .4 设设K K为为RR中的属性或属性组合。中的属性或属性组合。若若K K U U,则则K K称为称为R R的的侯选码侯选码(Candidate Candidate KeyKey)。)
17、。若候选码多于一个,则选定其中的一个做若候选码多于一个,则选定其中的一个做为为主码主码(Primary KeyPrimary Key)。)。F码(续)码(续)v主属性与非主属性主属性与非主属性 包含在任何一个候选码中的属性包含在任何一个候选码中的属性 ,称,称为主属性为主属性(Prime attributePrime attribute)不包含在任何码中的属性称为不包含在任何码中的属性称为非主属性非主属性(Nonprime attributeNonprime attribute)或非码属性()或非码属性(Non-key Non-key attributeattribute)v全码全码 整个属性
18、组是码,称为整个属性组是码,称为全码全码(All-keyAll-key)码(续)码(续)例例33 关系模式关系模式R R(P P,WW,A A)P P:演奏者:演奏者 WW:作品:作品 A A:听众:听众 一个演奏者可以演奏多个作品一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品听众可以欣赏不同演奏者的不同作品 码为码为(P(P,WW,A)A),即,即All-Key All-Key 外部码外部码定义定义6.5 6.5 关系模式关系模式 R R 中属性或属性组中属性或属性组X X 并非并非 R R的码,的码,但但 X X 是另一个
19、关系模式的码,则称是另一个关系模式的码,则称 X X 是是R R 的的外部码外部码(Foreign keyForeign key)也称也称外码外码v如在如在SCSC(SnoSno,CnoCno,GradeGrade)中,)中,SnoSno不是码不是码,但但SnoSno是关系模式是关系模式S S(SnoSno,SdeptSdept,SageSage)的码,)的码,则则SnoSno是关系模式是关系模式SCSC的外部码的外部码 v主码与外部码一起提供了表示关系间联系的手段主码与外部码一起提供了表示关系间联系的手段复复 习习v什么是函数依赖、非平凡函数依赖、什么是函数依赖、非平凡函数依赖、完全函数依赖
20、完全函数依赖v什么是码?什么是码?v不好的关系模式会存在哪些问题?不好的关系模式会存在哪些问题?6.2 规范化规范化6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结6.2.3 范式范式v范式范式是符合某一种级别的关系模式的集合是符合某一种级别的关系模式的集合v范式的种类:范式的种类:第一范式第一范式(1NF)(1N
21、F)第二范式第二范式(2NF)(2NF)第三范式第三范式(3NF)(3NF)BCBC范式范式(BCNF)(BCNF)第四范式第四范式(4NF)(4NF)第五范式第五范式(5NF)(5NF)6.2.3 范式范式v各种范式之间存在联系:各种范式之间存在联系:v某一关系模式某一关系模式R R为第为第n n范式,可简记为范式,可简记为RnNFRnNF。v一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解模式分解可以可以转换为若干个高一级范式的关系模式的集合,这转换为若干个高一级范式的关系模式的集合,这种过程就叫种过程就叫规范化规范化 NF5NF4BCNFNF3NF2NF16.2 规范
22、化规范化6.2.1 6.2.1 函数依赖函数依赖6.2.2 6.2.2 码码6.2.3 6.2.3 范式范式6.2.4 2NF6.2.4 2NF6.2.5 3NF6.2.5 3NF6.2.6 BCNF6.2.6 BCNF6.2.7 6.2.7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结6.2.4 2NFv1NF1NF的定义的定义如果一个关系模式如果一个关系模式R R的所有属性都是的所有属性都是不可分的不可分的基本数据项基本数据项,则,则R1NFR1NFv第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满足第一范
23、式的数据库模式不能称为关系数据库足第一范式的数据库模式不能称为关系数据库v但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个好的关系模式好的关系模式 2NF(续)(续)v2NF2NF的定义的定义定义定义6.6 6.6 若若R1NFR1NF,且每一个,且每一个非主属性非主属性完全完全函数依赖于码,则函数依赖于码,则R2NFR2NF。2NF(续)(续)例例4 4 关系模式关系模式 S-L-C(Sno,Sdept,Sloc,CnoS-L-C(Sno,Sdept,Sloc,Cno,Grade),Grade)Sloc Sloc为学生住处,假设每个系的学生住在同一个地方为学生
24、住处,假设每个系的学生住在同一个地方v函数依赖包括:函数依赖包括:(Sno,Cno(Sno,Cno)F F Grade Grade Sno Sdept Sno Sdept (Sno,Cno (Sno,Cno)P P Sdept Sdept Sno Sloc Sno Sloc (Sno,Cno (Sno,Cno)P P Sloc Sloc Sdept Sloc Sdept Sloc 2NF 2NF(续)(续)vS-L-CS-L-C的码为的码为(Sno,Cno(Sno,Cno)vS-L-CS-L-C满足第一范式。满足第一范式。v非主属性非主属性SdeptSdept和和SlocSloc部分函数依赖于
25、码部分函数依赖于码(Sno,(Sno,CnoCno)SnoSnoCnoCnoGradeGradeSdeptSdeptSlocSlocS-L-CS-L-CS-L-C不是一个好的关系模式(续)不是一个好的关系模式(续)(1)(1)插入异常插入异常(2)(2)删除异常删除异常(3)(3)数据冗余度大数据冗余度大(4)(4)修改复杂修改复杂S-L-C不是一个好的关系模式(续)不是一个好的关系模式(续)v原因原因 SdeptSdept、SlocSloc部分函数依赖于码。部分函数依赖于码。v解决方法解决方法 S-L-CS-L-C分解为两个关系模式,以消除这些部分解为两个关系模式,以消除这些部分函数依赖分函
展开阅读全文