第6章数据库系统概论(第4版)ppt课件.ppt

上传人:飞****2 文档编号:19305528 上传时间:2022-06-06 格式:PPT 页数:183 大小:1.50MB
返回 下载 相关 举报
第6章数据库系统概论(第4版)ppt课件.ppt_第1页
第1页 / 共183页
第6章数据库系统概论(第4版)ppt课件.ppt_第2页
第2页 / 共183页
点击查看更多>>
资源描述

《第6章数据库系统概论(第4版)ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章数据库系统概论(第4版)ppt课件.ppt(183页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 本章目标:本章目标:关系数据理论既是关系关系数据理论既是关系数据库的重要理论基础也是数据库逻辑数据库的重要理论基础也是数据库逻辑设计的理论指南和有力工具。要掌握规设计的理论指南和有力工具。要掌握规范化理论和优化数据库模式设计的方法。范化理论和优化数据库模式设计的方法。第六章第六章 关系数据理论关系数据理论2022-6-62 2第六章第六章 关系数据理论关系数据理论6 6.1 .1 问题的提出问题的提出6 6.2 .2 规范化规范化6 6.3 .3 数据依赖的公理系统数据依赖的公理系统* *6 6.4 .4 模式的分解模式的分解6 6.5 .5 小结小结3 3重点和难点重点和难点o重点:重点:

2、n 了解什么是一个了解什么是一个“不好不好”的数据库模式的数据库模式n 什么是模式的插入异常和删除异常什么是模式的插入异常和删除异常n 规范化理论的重要意义规范化理论的重要意义n 掌握数据依赖的基本概念,范式的概念,掌握数据依赖的基本概念,范式的概念,从从1NF1NF到到4NF4NF的定义,规范化的含义和作用的定义,规范化的含义和作用n 四个范式的理解与应用,各个级别范式中四个范式的理解与应用,各个级别范式中存在的问题和解决方法。存在的问题和解决方法。o难点难点: :各个级别范式的关系各个级别范式的关系4 46.1 6.1 问题的提出问题的提出一一. .概念回顾概念回顾二二. .问题的提出问题

3、的提出三三. .关系模式的形式化定义关系模式的形式化定义四四. .什么是数据依赖什么是数据依赖五五. .数据依赖对关系模式影响数据依赖对关系模式影响5 5一一.概念回顾概念回顾o关系关系o关系数据模型关系数据模型o关系数据库关系数据库o关系数据模式关系数据模式6 6二二.问题的提出问题的提出o给出一组数据给出一组数据n 如何构造一个适合于它的如何构造一个适合于它的关系数据关系数据模式模式n 使用什么标准来鉴别相应设计合理与否使用什么标准来鉴别相应设计合理与否n 若不合理应如何改进若不合理应如何改进 -提出了数据模式的设计问提出了数据模式的设计问题题( (关系数据理论关系数据理论) )7 7关系

4、模式的设计问题关系模式的设计问题o关系数据库模式是关系模式的集合关系数据库模式是关系模式的集合 关系数据库模式关系数据库模式=关系模式关系模式 o关系数据库模式设计就是要确定关系数据库模式设计就是要确定: :n 有几个关系模式有几个关系模式n 每个关系模式的名称、属性组成每个关系模式的名称、属性组成n 域的定义和说明域的定义和说明n 数据完整性的要求等数据完整性的要求等8 8三三.关系模式的形式化定义关系模式的形式化定义o关系模式由五部分组成关系模式由五部分组成, ,即它是一个五元即它是一个五元组:组: R(U, D, DOM, F)R(U, D, DOM, F)R R:关系名:关系名U U:

5、组成该关系的属性名集合:组成该关系的属性名集合D D:属性组:属性组U U中属性所来自的域中属性所来自的域DOMDOM:属性向域的映象集合:属性向域的映象集合F F:属性间数据的依赖关系集合:属性间数据的依赖关系集合即分别说明它们即分别说明它们分别来自哪个域分别来自哪个域9 9关系模式的形式化定义关系模式的形式化定义o 关系模式关系模式R R(U, D, DOM, FU, D, DOM, F) 简化为一个三元组:简化为一个三元组:R R(U, FU, F)n U U:组成该关系的属性名集合:组成该关系的属性名集合n F F:属性间数据的依赖关系集合:属性间数据的依赖关系集合o 当且仅当当且仅当

6、U U上的一个关系上的一个关系r r满足满足F F时,时,r r称为称为关关系模式系模式 R R(U, FU, F)的一个)的一个关系关系o 关系最基本的规范条件:关系的每一个分关系最基本的规范条件:关系的每一个分量必须是一个不可分的数据项量必须是一个不可分的数据项-1NF-1NF1010四四.什么是数据依赖什么是数据依赖1.1.完整性约束的表现形式完整性约束的表现形式n 限定属性取值范围:例如学生成绩必须在限定属性取值范围:例如学生成绩必须在0-1000-100之间之间n 定义数据表之间属性定义数据表之间属性值值的相互关连的相互关连2. 2. 数据依赖数据依赖n 一个关系内部属性与属性之间的

7、约束关系一个关系内部属性与属性之间的约束关系n 现实世界属性间相互联系的抽象现实世界属性间相互联系的抽象n 数据内在的性质数据内在的性质n 语义语义的体现的体现1111什么是数据依赖什么是数据依赖( (续续) )3.3.数据依赖的类型数据依赖的类型n 函数依赖函数依赖(Functional Dependency(Functional Dependency,简,简记为记为FD)FD)n 多值依赖多值依赖(Multivalued(Multivalued Dependency Dependency,简,简记为记为MVD)MVD)n 其他其他1212五五.数据依赖对关系模式的影响数据依赖对关系模式的影

8、响o函数依赖:函数依赖:指关系中一个或一组属性的指关系中一个或一组属性的值可以决定其它属性的值值可以决定其它属性的值o函数依赖正象一个函数函数依赖正象一个函数y=f(xy=f(x) )-x-x的值给定后,的值给定后,y y的值也就唯一地确定了的值也就唯一地确定了 1313数据依赖对关系模式的影响数据依赖对关系模式的影响o 例例11建立一个描述学校教务的数据库:建立一个描述学校教务的数据库:学生的学号学生的学号(Sno(Sno) )、所在系、所在系(Sdept(Sdept) )、系主任姓名系主任姓名(Mname(Mname) )、课程名、课程名(Cname(Cname) )、成绩成绩(Grade

9、)(Grade)n 单一的关系模式单一的关系模式 :Student UStudent F U USno,Sdept,Mname,Cname,GradeSno,Sdept,Mname,Cname,Grade1414数据依赖对关系模式的影响数据依赖对关系模式的影响( (续续) )n 属性组属性组U U上的一组函数依赖上的一组函数依赖F F: F FSnoSdept,SdeptMname, SnoSdept,SdeptMname, (Sno,Cname)Grade (Sno,Cname)Grade SnoSnoCnameCnameSdeptSdeptM Mnamname eGradeGrade函数依

10、赖函数依赖:一个或一组一个或一组属性的值可属性的值可以决定其他以决定其他属性的值属性的值 1515数据依赖对关系模式的影响数据依赖对关系模式的影响( (续续) )o 关系模式关系模式 :Student Student n U USno,Sdept,Mname,Cname,GradeSno,Sdept,Mname,Cname,Graden F FSnoSdept,SdeptMnameSnoSdept,SdeptMname, , (Sno,Cname)Grade (Sno,Cname)Grade n 关系模式关系模式StudentStudent的一个实例的一个实例SnoSnoSdeptSdeptM

11、nameMnameCnameCnameGradeGradeS1S1CSCS张明张明数据库数据库9595S2S2CSCS张明张明数据库数据库9090S3S3CSCS张明张明数据库数据库8888S4S4CSCS张明张明数据库数据库70701616关系模式关系模式StudentStudent中存在的问题中存在的问题1. 1. 数据冗余太大数据冗余太大2. 2. 更新异常更新异常(Update Anomalies)(Update Anomalies)3. 3. 插入异常插入异常(Insertion Anomalies)(Insertion Anomalies)4. 4. 删除异常删除异常(Deleti

12、on Anomalies)(Deletion Anomalies)1717关系模式关系模式StudentStudent中存在的问题中存在的问题o数据冗余太大数据冗余太大n 浪费大量的存储空间浪费大量的存储空间 例:每一个系主任的姓名重复出现例:每一个系主任的姓名重复出现o更新异常更新异常(Update Anomalies)(Update Anomalies)n 数据冗余数据冗余, ,更新数据时更新数据时, ,维护数据完整性代维护数据完整性代价大价大n 例:某系更换系主任后例:某系更换系主任后, ,须修改与该系学生须修改与该系学生有关的每个元组有关的每个元组1818关系模式关系模式Student

13、Student中存在的问题中存在的问题o插入异常插入异常(Insertion Anomalies)(Insertion Anomalies)n 该插的数据插不进去该插的数据插不进去n 例:若一个系刚成立,尚无学生,就无法例:若一个系刚成立,尚无学生,就无法存入该系及其系主任的信息存入该系及其系主任的信息o删除异常删除异常(Deletion Anomalies)(Deletion Anomalies)n 不该删除的数据不得不删不该删除的数据不得不删n 例:若某个系的学生全部毕业了,则在删例:若某个系的学生全部毕业了,则在删除该系学生信息的同时,会把该系及其系除该系学生信息的同时,会把该系及其系主

14、任的信息也同时删除主任的信息也同时删除1919数据依赖对关系模式的影响数据依赖对关系模式的影响( (续续) )o结论:结论:n StudentStudent关系模式不是一个好的模式。关系模式不是一个好的模式。n “好好”的模式:的模式:u不会发生插入异常、删除异常、更新不会发生插入异常、删除异常、更新异常异常u数据冗余应尽可能少数据冗余应尽可能少n 原因:原因:模式中的模式中的某些数据依赖某些数据依赖引起引起n 解决方法:分解解决方法:分解关系模式关系模式2020分解关系模式分解关系模式o 把该模式分解成把该模式分解成3 3个关系模式:个关系模式: S(Sno,Sdept,SnoS(Sno,S

15、dept,Sno SdeptSdept);); SC(Sno,Cname,Grade,(Sno SC(Sno,Cname,Grade,(Sno,Cname)GradeCname)Grade);); DEPT(Sdept,Mname,Sdept DEPT(Sdept,Mname,Sdept MnameMname) )n 关系模式关系模式 :Student UStudent FuU USno,Sdept,Mname,Cname,GradeSno,Sdept,Mname,Cname,GradeuF FSnoSdept,SdeptMnameSnoSdept,SdeptMname, , (Sno,Cna

16、me)Grade (Sno,Cname)Grade 2121数据冗余产生原因分析数据冗余产生原因分析o对多个文件和同一文件中数据之间的联对多个文件和同一文件中数据之间的联系考虑不周或处理不当系考虑不周或处理不当 -对数据依赖处理不当,即关系模对数据依赖处理不当,即关系模式本身的结构设计存在缺陷式本身的结构设计存在缺陷2222问题的解决思路问题的解决思路o先分析和掌握属性间的语义关联,然后先分析和掌握属性间的语义关联,然后再依据这些关联得到相应的设计方案再依据这些关联得到相应的设计方案n 一个模式的函数依赖会有哪些不好的性一个模式的函数依赖会有哪些不好的性质,如何改造质,如何改造n 提出并发展了

17、一套关系数据库模式设计提出并发展了一套关系数据库模式设计理论与方法理论与方法-关系模式的规范化理论与技术关系模式的规范化理论与技术 23236 6.2 .2 规范化规范化o规范化理论规范化理论正是用来改造关系模式,通正是用来改造关系模式,通过分解关系模式来消除其中不合适的数过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。更新异常和数据冗余问题。24246 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

18、.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 规范化小结规范化小结25256 6.2.1 .2.1 函数依赖函数依赖o函数依赖函数依赖o函数依赖的三种类型函数依赖的三种类型n 平凡与非平凡函数依赖平凡与非平凡函数依赖n 部分与完全函数依赖部分与完全函数依赖n 传递与直接函数依赖传递与直接函数依赖o函数依赖与数据冗余函数依赖与数据冗余2626一一.函数依赖函数依赖o 定义定义6.16.1 设设R(U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X

19、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。 -指一个或一组属性的值可以决定其他属性的值指一个或一组属性的值可以决定其他属性的值 2727说明说明 o 所有关系实例均要满足所有关系实例均要满足o 语义范畴的概念语义范畴的概念o 数据库设计者可以对现实世界作强制的数据库设计者可以对现实世

20、界作强制的规定规定 -刻画关系各属性之间相互制约而刻画关系各属性之间相互制约而又相互依赖的情况又相互依赖的情况 2828二二.函数依赖的三种类型函数依赖的三种类型1.1.平凡与非平凡函数依赖平凡与非平凡函数依赖2.2.部分与完全函数依赖部分与完全函数依赖3.3.传递与直接函数依赖传递与直接函数依赖2929二二.函数依赖的三种类型函数依赖的三种类型1.1.平凡与非平凡函数依赖平凡与非平凡函数依赖o在关系模式在关系模式R(U)R(U)中,对于中,对于U U的子集的子集X X和和Y Yn 如果如果XYXY,但,但Y Y X X,称,称XYXY是是非平凡的函数非平凡的函数依赖依赖n 若若XYXY,但,

21、但Y Y X,X,则称则称XYXY是平凡的函数依赖是平凡的函数依赖3030平凡与非平凡函数依赖平凡与非平凡函数依赖( (续续) )o例:在关系例:在关系SC(Sno,Cno,GradeSC(Sno,Cno,Grade) )中,中,n 非平凡函数依赖:非平凡函数依赖:(Sno, Cno(Sno, Cno) ) GradeGraden 平凡函数依赖:平凡函数依赖: (Sno, Cno(Sno, Cno) ) SnoSno (Sno, Cno) Cno (Sno, Cno) Cno3131平凡与非平凡函数依赖平凡与非平凡函数依赖( (续续) )n 若若X XY Y,则,则X X称为这个函数依赖的决定

22、属称为这个函数依赖的决定属性组,也称为决定因素性组,也称为决定因素(Determinant)(Determinant)。n 若若X XY Y,Y YX X,则记作,则记作X XY Y。n 若若Y Y不函数依赖于不函数依赖于X X,则记作,则记作X XY Y。3232函数依赖与的三种类型函数依赖与的三种类型2 2. .部分与完全函数依赖部分与完全函数依赖o 定义定义6.26.2 在在R(U)R(U)中,如果中,如果XY,XY,并且对于并且对于X X的任何一个真子集的任何一个真子集X,X,都有都有X Y, X Y, 则称则称Y Y对对X X完全函数依赖,记作完全函数依赖,记作X X F F Y Y

23、。 若若XYXY,但,但Y Y不完全函数依赖于不完全函数依赖于X X,则称,则称Y Y对对X X部分函数依赖,记作部分函数依赖,记作X X P P Y Y。 3333完全部分函数依赖完全部分函数依赖( (续续) )o 例例11中中n ( (Sno,Cno)GradeSno,Cno)Grade是完全函数依赖是完全函数依赖n ( (Sno,Cno)SdeptSno,Cno)Sdept是部分函数依赖是部分函数依赖 -因为因为SnoSdeptSnoSdept成立,且成立,且SnoSno是是(Sno,Cno(Sno,Cno) )的真子集的真子集FP3434函数依赖与的三种类型函数依赖与的三种类型3.3.

24、传递与直接函数依赖传递与直接函数依赖o 定义定义6.36.3 在在R(U)R(U)中,如果中,如果XY,(YXY,(Y X), X), YX,YZYX,YZ,Z ZY,Y,则称则称Z Z对对X X传递函数依赖。传递函数依赖。记为:记为:XZXZ 注注: : 如果如果YXYX,即,即XYXY,则,则Z Z直接依赖于直接依赖于X X。传递传递3535传递函数依赖传递函数依赖o 例例: : 在关系在关系Std(Sno,Sdept,MnameStd(Sno,Sdept,Mname) )中中, ,有:有:nSnoSdeptSnoSdept,n SdeptSnoSdeptSnon SdeptMnameSd

25、eptMname-Mname-Mname传递函数依赖于传递函数依赖于SnoSno3636三三.函数依赖与数据冗余函数依赖与数据冗余o部分函数依赖存在部分函数依赖存在“冗余属性冗余属性”o传递函数依赖表现传递函数依赖表现“间接间接”的弱数据依的弱数据依赖,这是产生数据冗余的主要原因赖,这是产生数据冗余的主要原因 -要消除数据冗余及数据异常现象,就需要消除数据冗余及数据异常现象,就需要处理好关系模式中的部分函数依赖和传递函要处理好关系模式中的部分函数依赖和传递函数依赖数依赖 37376.2.2 6.2.2 码码o定义定义6.46.4 设设K K为为RR中的属性或属性中的属性或属性组合。若组合。若K

26、 UK U,则,则K K称为称为R R的的候选码候选码(Candidate Key)(Candidate Key)。 若候选码多于一个,则选定其中的若候选码多于一个,则选定其中的一个做为一个做为主码主码(Primary Key)(Primary Key)。F3838码码( (续续) )o主属性与非主属性主属性与非主属性n 包含在任何一个候选码中的属性,称为主包含在任何一个候选码中的属性,称为主属性属性(Prime attribute) (Prime attribute) n 不包含在任何码中的属性称为非主属性不包含在任何码中的属性称为非主属性(Nonprime attribute)(Nonpr

27、ime attribute)或非码属性或非码属性(Non-(Non-key attribute) key attribute) o全码全码n 整个属性组是码,称为全码整个属性组是码,称为全码(All-key) (All-key) 3939码码( (续续) )o 例例22关系模式关系模式S(S(SnoSno,Sdept,Sage,Sdept,Sage),),单个单个属性属性SnoSno是码是码 SC(SC(Sno,CnoSno,Cno,Grade,Grade) )中,中,(Sno,Cno(Sno,Cno) )是码是码o 例例33关系模式关系模式R(P,W,A)R(P,W,A) P P:演奏者:演

28、奏者 W W:作品:作品 A A:听众:听众n 一个演奏者可以演奏多个作品一个演奏者可以演奏多个作品n 某一作品可被多个演奏者演奏某一作品可被多个演奏者演奏n 听众可以欣赏不同演奏者的不同作品听众可以欣赏不同演奏者的不同作品n 码为码为(P(P,W W,A)A),即,即All-Key All-Key 4040外部码外部码o定义定义6.56.5 关系模式关系模式R R中属性或属性组中属性或属性组X X并并非非R R的码,但的码,但X X是另一个关系模式的码,是另一个关系模式的码,则称则称 X X是是R R的的外部码外部码(Foreign key)(Foreign key),也,也称外码称外码o例

29、:例:在在SC(SC(Sno,CnoSno,Cno,Grade,Grade) )中,中,SnoSno不是不是码,但码,但SnoSno是关系模式是关系模式S(S(SnoSno,Sdept,Sage,Sdept,Sage) )的码,则的码,则SnoSno是关系模式是关系模式SCSC的外部码的外部码 o主码与外部码一起提供了表示关系间联主码与外部码一起提供了表示关系间联系的手段系的手段41416.2.3 6.2.3 范式范式o范式范式是符合某一种级别的关系模式的集合是符合某一种级别的关系模式的集合o关系数据库中的关系必须满足一定的要求。关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范

30、式满足不同程度要求的为不同范式o范式的种类:范式的种类:第一范式第一范式(1NF)(1NF)第二范式第二范式(2NF)(2NF)第三范式第三范式(3NF)(3NF)BCBC范式范式(BCNF)(BCNF)第四范式第四范式(4NF)(4NF)第五范式第五范式(5NF)(5NF)4242范式范式o为什么要有关系模式的范式?为什么要有关系模式的范式?n 在关系模式数据模式设计中,为了避在关系模式数据模式设计中,为了避免数据依赖引起的数据冗余和更新异免数据依赖引起的数据冗余和更新异常等问题,必须进行关系模式的分解常等问题,必须进行关系模式的分解( (即关系模式的规范化即关系模式的规范化) )。4343

31、范式范式o关系模式的规范化设计原则:关系模式的规范化设计原则:n 数据冗余量尽可能小数据冗余量尽可能小n 对关系进行插入、删除等操作,不出问题对关系进行插入、删除等操作,不出问题n 尽量如实反映现实世界的实际情况,且易尽量如实反映现实世界的实际情况,且易懂懂 -满足以上标准就是模式的范式,范式来满足以上标准就是模式的范式,范式来自英文自英文 Normal formNormal form,简称,简称NFNF,是符合某个,是符合某个级别的关系模式的集合级别的关系模式的集合4444范式范式o关系数据库中的关系必须满足最低的关关系数据库中的关系必须满足最低的关系要求,满足不同程度要求的为不同范系要求,

32、满足不同程度要求的为不同范式。式。o目前主要有六种范式:目前主要有六种范式:1NF1NF、2NF2NF、3NF3NF、BCNFBCNF、4NF4NF、5NF5NF。o满足最低要求的称第一范式,简称为满足最低要求的称第一范式,简称为1NF 1NF 4545范范 式式o范式之间的联系:范式之间的联系:NF5NF4BCNFNF3NF2NF1o某一关系模式某一关系模式R R为第为第n n范式,可简记为范式,可简记为RnNFRnNF。-范式的种类和数据依赖有直接的关系范式的种类和数据依赖有直接的关系o一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分模式分解解可以转换为若干个高一级范式的

33、关系模可以转换为若干个高一级范式的关系模式的集合,这种过程就叫关系的式的集合,这种过程就叫关系的规范化规范化46461NF1NFo 1NF1NF的定义的定义如果一个关系模式如果一个关系模式R R的所有属性都是的所有属性都是不可分的基本数据不可分的基本数据项项,则,则R1NFR1NFo 第一范式是对关系模式的最起码的要求第一范式是对关系模式的最起码的要求n 不满足不满足1NF1NF的数据库模式不能称为关系数据库的数据库模式不能称为关系数据库n 但是满足但是满足1NF1NF的关系模式并不一定是一个好的的关系模式并不一定是一个好的关系模式关系模式n 1NF1NF不不能排除数据冗余和更新异常问题,因为

34、能排除数据冗余和更新异常问题,因为其中可能存在部分函数依赖其中可能存在部分函数依赖47471NF1NF分解转换后的分解转换后的1NF1NF形式形式学号学号姓名姓名系别系别进修课程进修课程学号学号 姓名姓名 系别系别 课程名称课程名称是个是个集合集合课程名称课程名称学分学分课程名称课程名称学分学分n垂直分解用投影运算实现垂直分解用投影运算实现48481NF1NF横向展开为多个属横向展开为多个属性转换为性转换为1NF1NF形式形式职工姓名职工姓名 部部 门门住住 址址省省市市街道街道邮编邮编是个是个复合复合结构结构职工姓名职工姓名 部部 门门 省省 市市 街道街道 邮编邮编49496.2.4 2N

35、F6.2.4 2NFo2NF2NF的定义的定义若若R1NFR1NF,且每一个非主属性完全函数,且每一个非主属性完全函数依赖于码,则依赖于码,则R2NFR2NF - -每个非主属性是由整个主键函数决定的,每个非主属性是由整个主键函数决定的,而不能由主键的一部分来决定而不能由主键的一部分来决定 50502NF(2NF(续续) )o 例例44关系模式关系模式 S-L-C(Sno,Sdept,Sloc,Cno,GradeS-L-C(Sno,Sdept,Sloc,Cno,Grade) ) 注:注:SlocSloc:学生住处:学生住处, ,假设每个系的学生住假设每个系的学生住在同一个地方在同一个地方o (

36、Sno,Cno(Sno,Cno) Grade) Grade SnoSdept SnoSdept, , Sno Sloc Sno Sloc, , Sdept Sloc Sdept Sloco码为码为(Sno, Cno(Sno, Cno) )51512NF(2NF(续续) )o 关系模式关系模式S-L-CS-L-C的码为的码为(Sno, Cno(Sno, Cno) )o S-L-CS-L-C满足第一范式满足第一范式o 函数依赖包括:函数依赖包括: (Sno,Cno(Sno,Cno) ) F F Grade Grade SnoSdept,(Sno,Cno SnoSdept,(Sno,Cno) ) P

37、 P Sdept Sdept Sno Sloc,(Sno,Cno Sno Sloc,(Sno,Cno) ) P P Sloc Sloc Sdept Sloc Sdept Sloc-存在非主属性对码的部分函数依赖存在非主属性对码的部分函数依赖52522NF(2NF(续续) )o S-L-CS-L-C的码为的码为(Sno, Cno(Sno, Cno) )o S-L-CS-L-C满足第一范式。满足第一范式。o 非主属性非主属性SdeptSdept和和SlocSloc部分函数依赖于码部分函数依赖于码(Sno,Cno(Sno,Cno) ) -S-L-C -S-L-C2NF2NFSnoSnoCnoCnoG

38、radeGradeSdeptSdeptSlocSlocS-L-CS-L-C5353S-L-CS-L-C不是一个好的关系模式不是一个好的关系模式( (续续) )(1)(1)插入异常插入异常(2)(2)删除异常删除异常(3)(3)数据冗余度大数据冗余度大(4)(4)修改复杂修改复杂5454S-L-CS-L-C不是一个好的关系模式不是一个好的关系模式( (续续) )o原因原因 SdeptSdept、SlocSloc部分函数依赖于码。部分函数依赖于码。o解决方法解决方法 S-L-CS-L-C分解为两个关系模式,以消除分解为两个关系模式,以消除这些部分函数依赖这些部分函数依赖 SC(Sno,Cno,Gr

39、adeSC(Sno,Cno,Grade) ) S-L(Sno,Sdept,Sloc S-L(Sno,Sdept,Sloc) )55552NF(2NF(续续) )o函数依赖图:函数依赖图:SnoSnoCnoCnoGradeGradeSCSCS-LS-LSnoSnoSdeptSdeptSlocSlocn关系模式关系模式SCSC的码为(的码为(SnoSno,CnoCno)n关系模式关系模式S-LS-L的码为的码为SnoSno - -这样非主属性对码都是完全函数依赖这样非主属性对码都是完全函数依赖 5656 2NF(2NF(续续) )o2NF2NF的定义的定义定义定义6.66.6 若若R1NFR1NF

40、,且每一个,且每一个非主属性完非主属性完全全函数依赖于码,则函数依赖于码,则R2NFR2NF。n 例:例:S-L-C(Sno,Sdept,Sloc,Cno,Grade)1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)1NF S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF S-L-C(Sno,Sdept,Sloc,Cno,Grade)2NF SC(Sno,Cno,Grade)2NF SC(Sno,Cno,Grade)2NF S-L(Sno,Sdept,Sloc)2NF S-L(Sno,Sdept,Sloc)2NF57572NF(2NF(续续) )o规范化

41、处理过程规范化处理过程(1NF2NF)(1NF2NF)n 对关系进行投影分解对关系进行投影分解-将一个表分解成将一个表分解成若干个表。若干个表。n 投影分解法可在一定程度上减轻原投影分解法可在一定程度上减轻原1NF1NF关关系中存在的插入异常、删除异常、数据冗系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题余度大、修改复杂等问题n 但投影分解并不能完全消除关系模式中的但投影分解并不能完全消除关系模式中的各种异常情况和数据冗余。各种异常情况和数据冗余。58582NF(2NF(续续) )o不满足不满足2NF2NF的关系模式的关系模式R R存在非主属性对存在非主属性对键的部分函数依赖键的部

42、分函数依赖n 即存在即存在X XY Yn Y Y是非主属性是非主属性n X X是主键是主键K K的真子集的真子集X X主键主键K KY Y-关系模式关系模式R R不满足第二范式不满足第二范式n第二范式也可能存在第二范式也可能存在数据冗余和更新异常数据冗余和更新异常问题,因为其中可能问题,因为其中可能存在传递函数依赖。存在传递函数依赖。5959关于关于2NF2NF的结论的结论o 不存在非主属性的关系模式属于不存在非主属性的关系模式属于2NF-2NF-全码全码n 没有非主属性没有非主属性o 码只由一个属性组成的关系模式属于码只由一个属性组成的关系模式属于2NF2NFn 不会有部分依赖不会有部分依赖

43、o 二目关系模式属于二目关系模式属于2NF 2NF n 码或只有一个属性,或是全码码或只有一个属性,或是全码o R R属于属于1NF1NF,但,但R R不一定属于不一定属于2NF 2NF n 例例: : 关系模式关系模式R(Sno,Sdept,Sloc,Cno,GradeR(Sno,Sdept,Sloc,Cno,Grade) )60606 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.

44、7 多值依赖多值依赖6.2.8 4NF6.2.8 4NF6.2.9 6.2.9 规范化小结规范化小结6161 6.2.5 3NF6.2.5 3NFo 3NF3NF的定义的定义定义定义6.76.7 关系模式关系模式RURF 中若不存在这中若不存在这样的码样的码X X、属性组、属性组Y Y及非主属性及非主属性Z(ZZ(Z Y),Y),使使得得X XY Y, ,Y YZ Z成立成立, ,Y YX X, ,则称则称RR3NF3NFn 若若R R3NF3NF,则,则每一个非主属性既不部分每一个非主属性既不部分依赖于码也不传递依赖于码依赖于码也不传递依赖于码。 62623NF(3NF(续续) )o例:例:

45、2NF2NF关系模式关系模式S-L(Sno,Sdept,SlocS-L(Sno,Sdept,Sloc) )中中n 函数依赖:函数依赖:SnoSdeptSnoSdept SdeptSno SdeptSno SdeptSloc SdeptSlocn 可得:可得:SnoSlocSnoSloc,即,即S-LS-L中存在非主属性对中存在非主属性对码的传递函数依赖码的传递函数依赖n 因此,因此,S S-L-L2NF 2NF S-L3NF S-L3NF传递SC(Sno,Cno,Grade)2NFSC(Sno,Cno,Grade)2NFS-L(Sno,Sdept,Sloc)2NFS-L(Sno,Sdept,S

46、loc)2NF6363 3NF(3NF(续续) )n 函数依赖图:函数依赖图:S-LS-LSnoSnoSdeptSdeptSlocSlocSnoSlocSnoSloc传递传递T T64643NF(3NF(续续) )o解决方法:解决方法:投影分解法投影分解法n 把把S-LS-L分解为两个关系模式分解为两个关系模式 S-DS-D(SnoSno,SdeptSdept) D-LD-L(SdeptSdept,SlocSloc)-S-D-S-D的码为的码为Sno,DSno,D-L-L的码为的码为SdeptSdeptn分解后的关系模式分解后的关系模式S-DS-D与与D-LD-L中不再存在传中不再存在传递依赖

47、递依赖 S-L(Sno,Sdept,SlocS-L(Sno,Sdept,Sloc) )65653NF(3NF(续续) )oS-DS-D的码为的码为SnoSno,D-LD-L的码为的码为SdeptSdeptSnoSnoSdeptSdeptS-DS-DSdeptSdeptSlocSlocD-LD-Ln S-L(Sno, SdeptS-L(Sno, Sdept, Sloc)2NF, Sloc)2NFn S-L(Sno, SdeptS-L(Sno, Sdept, Sloc)3NF , Sloc)3NF n S-D(SnoS-D(Sno,Sdept)3NFSdept)3NFn D-L(SdeptD-L(

48、Sdept,Sloc)3NFSloc)3NF66663NF(3NF(续续) )o若关系模式若关系模式R R不满足不满足3NF,3NF,则其中一定存在则其中一定存在非主属性非主属性Y Y对键对键K K的传递依赖的传递依赖o特殊情况特殊情况n 存在存在X XY Y, ,其中其中Y Y是非主属性是非主属性,X,X是主键是主键K K的真的真子集子集-实际上是一种基于部分依赖的传递实际上是一种基于部分依赖的传递依赖依赖-非非3NF3NF类型之一类型之一X X主键主键K KY Y67673NF3NFo满足满足3NF3NF的表中不存在传递依赖,即的表中不存在传递依赖,即n 没有一个非主属性依赖于另一个非主属

49、性没有一个非主属性依赖于另一个非主属性n 或者说没有一个非主属性决定另一个非主或者说没有一个非主属性决定另一个非主属性属性6868关于关于3NF3NF的结论的结论o 不存在非主属性的关系模式属于不存在非主属性的关系模式属于3 3NF-NF-全码全码n 没有非主属性没有非主属性o 二目关系模式属于二目关系模式属于3NF 3NF n 不会存在传递依赖不会存在传递依赖o 若若R R属于属于3NF3NF,那么,那么R R也属于也属于2NF2NFo R R属于属于2NF2NF,但,但R R不一定属于不一定属于3NF 3NF n 例例: :关系模式关系模式S-L(Sno,Sdept,SlocS-L(Sno

50、,Sdept,Sloc) )6969 6.2.6 BC6.2.6 BC范式范式(BCNF)(BCNF)o 定义定义6.86.8 关系模式关系模式RUR1NFF1NF,若,若XYXY且且Y Y X X时时X X必含有码,则必含有码,则RURBCNFFBCNF。-每个函数依赖的左边都是码每个函数依赖的左边都是码 o 等价于:每一个决定因素都包含码等价于:每一个决定因素都包含码n 若关系模式属于若关系模式属于1NF1NF,且每个属性都不部分,且每个属性都不部分或传递依赖于侯选码,则或传递依赖于侯选码,则R R属于属于BCBC范式范式 n 若关系模式属于若关系模式属于3NF,3NF,且任何主属性都不部

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁