第05章 (补充)模式分解的方法和实例_第1页
第05章 (补充)模式分解的方法和实例_第2页
第05章 (补充)模式分解的方法和实例_第3页
第05章 (补充)模式分解的方法和实例_第4页
第05章 (补充)模式分解的方法和实例_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、1 1北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精第第5 5章章 关系数据理论及求精关系数据理论及求精志存高远志存高远, 脚踏实地脚踏实地, 勇于探索勇于探索!2015/10/302015/10/302 2北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2一、什么是数据依赖一、什么是数据依赖1.完整性约束

2、的表现形式完整性约束的表现形式n 限定属性取值范围:例如学生成绩必须在限定属性取值范围:例如学生成绩必须在0-100之间之间n 定义属性定义属性值值间的相互关连(主要体现于值的间的相互关连(主要体现于值的相等与相等与否否),这就是数据依赖,它是数据库模式设计的关),这就是数据依赖,它是数据库模式设计的关键键3 3北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2什么是数据依赖(续)什么是数据依赖(续)2.数据依赖数据依赖n 一个关系内部

3、属性与属性之间的约束关系一个关系内部属性与属性之间的约束关系n 现实世界属性间相互联系的抽象现实世界属性间相互联系的抽象n 数据内在的性质数据内在的性质n 语义语义的体现的体现4 4北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2什么是数据依赖(续)什么是数据依赖(续)3. 数据依赖的类型数据依赖的类型n 函数依赖(函数依赖(Functional Dependency,简记为,简记为FD)n 多值依赖(多值依赖(Multivalued

4、 Dependency,简记为,简记为MVD)n 其他其他5 5北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2四、关系模式的简化表示四、关系模式的简化表示n 关系模式关系模式R(U, D, DOM, F) 简化为一个三元组:简化为一个三元组: R(U, F)n 当且仅当当且仅当U上的一个关系上的一个关系r满足满足F时,时,r称为称为关系模式关系模式 R(U, F)的一个)的一个关系关系6 6北京理工大学珠海学院北京理工大学珠海学院

5、计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇6二、二、数据依赖对关系模式的影响数据依赖对关系模式的影响例例1建立一个描述学校教务的数据库:建立一个描述学校教务的数据库:学生的学号(学生的学号(Sno)、所在系()、所在系(Sdept)系主任姓名(系主任姓名(Mname)、课程名()、课程名(Cname)成绩(成绩(Grade)单一单一的关系模式:的关系模式:Student U Sno, Sdept, Mname, Cname, Grade 7 7北

6、京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)属性组属性组U上的一组函数依赖上的一组函数依赖F: F Sno Sdept, Sdept Mname, (Sno, Cname) Grade SnoCnameSdeptMnameGrade8 8北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系

7、数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇8数据依赖对关系模式的影响(续)数据依赖对关系模式的影响(续)SnoSdeptMnameCnameGrade01外语系王军大学英语8501外语系王军英文写作8001外语系王军语文8702数学系李铁大学英语7502数学系李铁高等数学9003物理系朱岩大学英语8204物理系朱岩高等数学8405化学系马兵大学英语7005化学系马兵分析化学909 9北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系

8、数据理论与模式求精2022-1-22022-1-2关系模式关系模式Student中存在的问题中存在的问题1.数据冗余太大(数据冗余太大(Redundancy)2. 更新异常(更新异常(Update Anomalies)3. 插入异常(插入异常(Insertion Anomalies)4. 删除异常(删除异常(Deletion Anomalies)1010北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据依赖对关系模式的影响(续)数据

9、依赖对关系模式的影响(续)结论:结论:nStudent关系模式不是一个好的模式。关系模式不是一个好的模式。n“好好”的模式:的模式:不会发生插入异常、删除异常、更新异常,不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。数据冗余应尽可能少。原因:原因:由存在于模式中的由存在于模式中的某些数据依赖某些数据依赖引起的引起的解决方法:解决方法:通过通过分解分解关系模式来消除其中关系模式来消除其中不合适不合适 的数据依赖的数据依赖。1111北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精

10、关系数据理论与模式求精2022-1-22022-1-2分解关系模式分解关系模式n 把这个单一模式分成把这个单一模式分成3个关系模式:个关系模式: S(Sno,Sdept,Sno Sdept); SC(Sno,Cname,Grade,(Sno,Cname)Grade); DEPT(Sdept,Mname,Sdept Mname)1212北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2二、规范化二、规范化 规范化理论规范化理论正是用来改造

11、关系模式,通过分解关系正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决插入异模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。常、删除异常、更新异常和数据冗余问题。1313北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇132.1 函数依赖函数依赖n 函数依赖函数依赖n 平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖n 完全函数依赖与部分函数依赖

12、完全函数依赖与部分函数依赖n 传递函数依赖传递函数依赖1414北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2一、函数依赖一、函数依赖定义定义6.1 设设R(U)是一个属性集是一个属性集U上的关系模式,上的关系模式,X和和Y是是U的子集。的子集。 若对于若对于R(U)的的任意任意一个可能的关系一个可能的关系r,r中不可能存在中不可能存在两个元组在两个元组在X上的属性值相等,上的属性值相等, 而在而在Y上的属性值不上的属性值不等,等,

13、则称则称 “X函数确定函数确定Y” 或或 “Y函数依赖于函数依赖于X”,记,记作作XY。 1515北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2说明说明 1. 所有关系实例所有关系实例均要满足均要满足2. 语义范畴语义范畴的概念的概念3. 数据库设计者可以对现实世界作强制的规定数据库设计者可以对现实世界作强制的规定1616北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第

14、第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2二、平凡函数依赖与非平凡函数依赖二、平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果如果XY,但,但Y X,则称,则称XY是非平凡的函数依赖是非平凡的函数依赖若若XY,但,但Y X, 则称则称XY是是平凡的函数依赖平凡的函数依赖n 例:在关系例:在关系SC(Sno, Cno, Grade)中,中, 非平凡函数依赖:非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖:平凡函数依赖:(Sno, Cno) Sno (Sno, Cno) C

15、no1717北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2平凡函数依赖与非平凡函数依赖(续)平凡函数依赖与非平凡函数依赖(续)l若若XY,则,则X称为这个函数依赖的决定属性称为这个函数依赖的决定属性组,也称为决定因素(组,也称为决定因素(Determinant)。)。l若若XY,YX,则记作,则记作XY。l若若Y不函数依赖于不函数依赖于X,则记作,则记作XY。1818北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数

16、据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2三、完全函数依赖与部分函数依赖三、完全函数依赖与部分函数依赖定义定义6.2 在在R(U)中,如果中,如果XY,并且对于,并且对于X的任何一个的任何一个真子集真子集X,都有,都有X Y, 则称则称Y对对X完全函数依赖完全函数依赖,记,记作作 X F Y。 若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函部分函数依赖数依赖,记作,记作 X P Y。 1919北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库

17、原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2完全函数依赖与部分函数依赖(续)完全函数依赖与部分函数依赖(续)例例1中中(Sno,Cno)Grade是完全函数依赖,是完全函数依赖, (Sno,Cno)Sdept是部分函数依赖是部分函数依赖 因为因为Sno Sdept成立,且成立,且Sno是(是(Sno,Cno)的真)的真子集子集 FP2020北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数

18、据理论与模式求精2022-1-22022-1-2四、传递函数依赖四、传递函数依赖定义定义6.3 在在R(U)中,如果中,如果XY,(Y X),YX YZ,则,则称称Z对对X传递函数依赖传递函数依赖。 记为:记为:X Z 注注: 如果如果YX, 即即XY,则,则Z直接依赖于直接依赖于X。例例: 在关系在关系Std(Sno, Sdept, Mname)中,有:中,有: SnoSdept,SdeptMname,Mname传递函数依传递函数依赖于赖于Sno。传递2121北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章

19、关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-22.2 码码定义定义6.4 设设K为为R中的属性或属性组合。若中的属性或属性组合。若K U,则,则K称为称为R的的侯选码侯选码(Candidate Key)。)。 若候选码多于一个,则选定其中的一个做为若候选码多于一个,则选定其中的一个做为主码主码(Primary Key)。)。F2222北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2码(续)码(续)n 主属

20、性与非主属性主属性与非主属性l包含在任何一个候选码中的属性包含在任何一个候选码中的属性 ,称为主属性(,称为主属性(Prime attribute) l不包含在任何码中的属性称为非主属性(不包含在任何码中的属性称为非主属性(Nonprime attribute)或非码属性()或非码属性(Non-key attribute) n 全码全码l整个属性组是码,称为全码(整个属性组是码,称为全码(All-key) 2323北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精20

21、22-1-22022-1-2码(续)码(续)例例2关系模式关系模式S(Sno,Sdept,Sage),单个属性,单个属性Sno是码,是码, SC(Sno,Cno,Grade)中,()中,(Sno,Cno)是码)是码例例3关系模式关系模式R(P,W,A) P:演奏者:演奏者 W:作品:作品 A:听众:听众 一个演奏者可以演奏多个作品一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品听众可以欣赏不同演奏者的不同作品 码为码为(P,W,A),即,即All-Key 2424北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数

22、据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2外部码外部码定义定义6.5 关系模式关系模式R中属性或属性组中属性或属性组X并非并非R的码,但的码,但X是是另一个关系模式的码,则称另一个关系模式的码,则称X是是R 的的外部码(外部码(Foreign key)也称外码也称外码n 如在如在SC(Sno,Cno,Grade)中,)中,Sno不是码,但不是码,但Sno是关系模式是关系模式S(Sno,Sdept,Sage)的码,则)的码,则Sno是关是关系模式系模式SC的外部码。的外部码。 n 主码与外部码一

23、起提供了表示关系间联系的手段。主码与外部码一起提供了表示关系间联系的手段。2525北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-22.3 范式范式n 范式是符合某一种级别的关系模式的集合范式是符合某一种级别的关系模式的集合n 关系数据库中的关系必须满足一定的要求。满足不关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式同程度要求的为不同范式n 范式的种类:范式的种类:第一范式第一范式(1NF)第二范式第二范式(2NF)

24、第三范式第三范式(3NF)BC范式范式(BCNF)第四范式第四范式(4NF)第五范式第五范式(5NF)2626北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇262.3 范式范式n各种范式之间存在联系:各种范式之间存在联系:n某一关系模式某一关系模式R为第为第n范式,可简记为范式,可简记为RnNF。n 一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解模式分解可以转可以转换为若干个高一级范式的

25、关系模式的集合,这种过换为若干个高一级范式的关系模式的集合,这种过程就叫程就叫规范化规范化 NF5NF4BCNFNF3NF2NF12727北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-22.4 2NFn1NF的定义的定义如果一个关系模式如果一个关系模式R的所有属性都是的所有属性都是不可分的基不可分的基本数据项本数据项,则,则R1NFn第一范式是对关系模式的最起码的要求。不满足第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模

26、式不能称为关系数据库第一范式的数据库模式不能称为关系数据库n但是满足第一范式的关系模式并不一定是一个好但是满足第一范式的关系模式并不一定是一个好的关系模式的关系模式2828北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-22NF(续)(续)例例4 关系模式关系模式 S-L-C(Sno, Sdept, Sloc, Cno, Grade) Sloc为学生住处,假设每个系的学生住在同一个地方为学生住处,假设每个系的学生住在同一个地方n 函数依

27、赖包括:函数依赖包括: (Sno, Cno) F Grade Sno Sdept (Sno, Cno) P Sdept Sno Sloc (Sno, Cno) P Sloc Sdept Sloc2929北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2 2NF(续)(续)S-L-C的码为的码为(Sno, Cno)n S-L-C满足第一范式。满足第一范式。n 非主属性非主属性Sdept和和Sloc部分函数依赖于码部分函数依赖于码(Sno,

28、 Cno)SnoCnoGradeSdeptSlocS-L-C3030北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇30S-L-C不是一个好的关系模式(续)不是一个好的关系模式(续)(1) 插入异常插入异常(2) 删除异常删除异常(3) 数据冗余度大数据冗余度大(4) 修改复杂修改复杂3131北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05

29、 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇31S-L-C不是一个好的关系模式(续)不是一个好的关系模式(续)n 原因原因 Sdept、 Sloc部分函数依赖于码。部分函数依赖于码。n 解决方法解决方法 S-L-C分解为两个关系模式,以消除这些部分函数分解为两个关系模式,以消除这些部分函数依赖依赖 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)3232北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数

30、据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇322NF(续)(续)函数依赖图:函数依赖图:SnoCnoGradeSCS-LSnoSdeptSlocv关系模式SC的码为(Sno,Cno)v关系模式S-L的码为Snov这样非主属性对码都是完全函数依赖 3333北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2 2NF(续)(续)n2NF的定义的定义定义定义6.6 若若R1NF,且每一个,且每

31、一个非主属性非主属性完全完全函数函数依赖于码,则依赖于码,则R2NF。例:例:S-L-C(Sno, Sdept, Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF3434北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2分解办法分解办法n 首先,对于组成主码的属性集

32、合的每一个子集,用首先,对于组成主码的属性集合的每一个子集,用它作为主码构成一个表。它作为主码构成一个表。n 然后,将依赖于这些主码的属性放置到相应的表中。然后,将依赖于这些主码的属性放置到相应的表中。n 最后,去掉只由主码的子集构成的表。最后,去掉只由主码的子集构成的表。3535北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2 2NF(续)(续)n 采用投影分解法将一个采用投影分解法将一个1NF的关系分解为多个的关系分解为多个2NF

33、的的关系,可以在一定程度上减轻原关系,可以在一定程度上减轻原1NF关系中存在的插关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。入异常、删除异常、数据冗余度大、修改复杂等问题。n 将一个将一个1NF关系分解为多个关系分解为多个2NF的关系,并不能完全的关系,并不能完全消除关系模式中的各种异常情况和数据冗余。消除关系模式中的各种异常情况和数据冗余。3636北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张

34、申勇36 2.5 3NFn 3NF的定义的定义定义定义6.7 关系模式关系模式R 中若不存在这样的码中若不存在这样的码X、属性组属性组Y及非主属性及非主属性Z(Z Y),使得使得XY,YZ成成立,立,Y X,则称,则称R 3NF。n若若R3NF,则每一个,则每一个非主属性非主属性既不部分依既不部分依赖赖于码于码也不传递依赖也不传递依赖于码。于码。 3737北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-23NF(续)(续)例:例:2NF

35、关系模式关系模式S-L(Sno, Sdept, Sloc)中中l函数依赖:函数依赖: SnoSdept Sdept Sno SdeptSloc 可得:可得:SnoSloc,即,即S-L中存在非主属性对码的传中存在非主属性对码的传递函数依赖,递函数依赖,S-L 3NF传递3838北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇38 3NF(续)(续)函数依赖图:函数依赖图:S-LSnoSdeptSloc3939北

36、京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-23NF(续)(续)n 解决方法解决方法 采用投影分解法,把采用投影分解法,把S-L分解为两个关系模式,以消除传分解为两个关系模式,以消除传递函数依赖:递函数依赖: S-D(Sno, Sdept) D-L(Sdept,Sloc)S-D的码为的码为Sno, D-L的码为的码为Sdept。n分解后的关系模式分解后的关系模式S-D与与D-L中不再存在传递依赖中不再存在传递依赖4040北京理工大学珠

37、海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇403NF(续)(续)S-D的码为的码为Sno, D-L的码为的码为SdeptSnoSdeptS-DSdeptSlocD-Lv S-L(Sno, Sdept, Sloc) 2NF S-L(Sno, Sdept, Sloc) 3NF S-D(Sno,Sdept) 3NFD-L(Sdept, Sloc) 3NF4141北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院

38、数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2分解过程分解过程n (1)对于不是候选码的每个决定因子,从表中删去)对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性;依赖于它的所有属性;n (2)新建一个表,新表中包含在原表中所有依赖于)新建一个表,新表中包含在原表中所有依赖于该决定因子的属性;该决定因子的属性;n (3)将决定因子作为新表的主码。)将决定因子作为新表的主码。4242北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张

39、申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-23NF(续)(续)n 采用投影分解法将一个采用投影分解法将一个2NF的关系分解为多个的关系分解为多个3NF的的关系,可以在一定程度上解决原关系,可以在一定程度上解决原2NF关系中存在的插关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。入异常、删除异常、数据冗余度大、修改复杂等问题。n 将一个将一个2NF关系分解为多个关系分解为多个3NF的关系后,仍然不能的关系后,仍然不能完全消除关系模式中的各种异常情况和数据冗余。完全消除关系模式中的各种异常情况和数据冗余。4343北京理工大学

40、珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2规范化举例规范化举例n 设有关系模式:设有关系模式:Student(学号,姓名,导师号,导(学号,姓名,导师号,导师名,课程号,课程说明,成绩)师名,课程号,课程说明,成绩)n 语义:一名学生只有一个导师,学生可选多门课。语义:一名学生只有一个导师,学生可选多门课。n 判断此关系模式属于几范式,如不属于判断此关系模式属于几范式,如不属于3NF,将其,将其规范化成规范化成3NF的。的。4444北京理工

41、大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-21 1此表是此表是1NF1NF,其函数依,其函数依赖赖为:为:学号学号F F姓名,学号姓名,学号F F导导师师号,学号号,学号F F导导师师名,课程名,课程号号F F课程课程说说明明, , ( (学号,课程号学号,课程号) )成成绩绩 主码为(学号,课程号)主码为(学号,课程号) 存在部分函数依存在部分函数依赖赖关系,不是关系,不是2NF2NF,首先将其分解为,首先将其分解为2NF2NF。学生(

42、学号,姓名,导师号,导师名),课程(课程号,课程说明),成绩(学号,课程号,成绩) 均为2NF4545北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-22 2判是否为判是否为3NF 3NF “学生学生”表不是表不是3NF3NF,其函数依,其函数依赖赖为:为:学号学号姓名,学号姓名,学号导导师师号,导号,导师师号号F F导导师师名,名,学号学号传传递递导导师师名名n 消除依消除依赖赖于于决决定者的属性,定者的属性,把把它们放在一个单独的表

43、它们放在一个单独的表中,得到:中,得到:n 学生(学生(学号学号,姓名,导,姓名,导师师号),导号),导师师(导(导师师号,导号,导师师名)名)4646北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇46规范化小结规范化小结n 关系数据库的规范化理论是数据库逻辑设计的工具关系数据库的规范化理论是数据库逻辑设计的工具n 目的:尽量消除插入、删除异常,修改复杂,数据目的:尽量消除插入、删除异常,修改复杂,数据冗余冗

44、余n 基本思想:逐步消除数据依赖中不合适的部分基本思想:逐步消除数据依赖中不合适的部分l实质:概念的实质:概念的单一化单一化4747北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2规范化小结(续)规范化小结(续)n 关系模式规范化的基本步骤关系模式规范化的基本步骤 1NF 消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除决定属性消除决定属性 2NF集非码的非平集非码的非平 消除非主属性对码的传递函数依赖消除非主属性对码

45、的传递函数依赖凡函数依赖凡函数依赖 3NF 消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖 BCNF 消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖 4NF4848北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇48规范化小结(续)规范化小结(续)n 不能说规范化程度越高的关系模式就越好不能说规范化程度越高的关系模式就越好n 在设计数据库模式结构时,必须对现实世界的实际在

46、设计数据库模式结构时,必须对现实世界的实际情况和用户应用需求作进一步分析,确定一个合适情况和用户应用需求作进一步分析,确定一个合适的、能够反映现实世界的模式的、能够反映现实世界的模式n 上面的规范化步骤可以在其中任何一步终止上面的规范化步骤可以在其中任何一步终止4949北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2数据库原理与应用 张申勇496.4 模式的分解模式的分解n 把低一级的关系模式分解为若干个高一级的关系模把低一级的关系模

47、式分解为若干个高一级的关系模式的方法不是唯一的式的方法不是唯一的n 只有能够保证分解后的关系模式与原关系模式等价,只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义分解方法才有意义5050北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式分解的标准关系模式分解的标准三种模式分解等价的定义:三种模式分解等价的定义: 分解具有无损连接性分解具有无损连接性 分解要保持函数依赖分解要保持函数依赖 分解既要保持函数依赖,又要具

48、有无损连接性分解既要保持函数依赖,又要具有无损连接性5151北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则关系模式的分解准则n 模式分解要满足:模式分解要满足:模式分解具有无损连接性;模式分解具有无损连接性;模式分解能够保持函数依赖。模式分解能够保持函数依赖。 无损连接无损连接是指分解后的关系通过自然连接可以恢复成是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的关系与原来的关原来的关系,即通过

49、自然连接得到的关系与原来的关系相比,既不多出信息、又不丢失信息。系相比,既不多出信息、又不丢失信息。 保持函数依赖保持函数依赖分解是指在模式的分解过程中,函数依分解是指在模式的分解过程中,函数依赖不能丢失的特性,即模式分解不能破坏原来的语义。赖不能丢失的特性,即模式分解不能破坏原来的语义。5252北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续)关系模式的分解准则(续)n 例:例:S-D-LS-D-L(SnoSn

50、o,DeptDept,LocLoc)有函数依)有函数依赖赖:n Sno Sno Dept Dept, Dept Dept Loc Locn 不是第三范式的。不是第三范式的。至至少可以有三种分解方少可以有三种分解方案案,分别为:,分别为:n方方案案1 1:S-LS-L(SnoSno,LocLoc),),D-LD-L(DeptDept,LocLoc)n方方案案2 2:S-DS-D(SnoSno,DeptDept),),S-LS-L(SnoSno,LocLoc)n方方案案3 3:S-DS-D(SnoSno,DeptDept),),D-LD-L(DeptDept,LocLoc)n 这三种分解方这三种分

51、解方案案得到的关系模式都是第三范式的,得到的关系模式都是第三范式的,那那么如何比较这三种方么如何比较这三种方案案的好的好坏呢坏呢?由此在将一个关系?由此在将一个关系模式分解为多个关系模式时除了提高规范化程度之外,模式分解为多个关系模式时除了提高规范化程度之外,还需要考虑还需要考虑其他的一些因其他的一些因素素。5353北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续)关系模式的分解准则(续)n 将一个关系模式将一个

52、关系模式RURF分解为若分解为若干干个关系模式个关系模式R R1 1U ,R R2 2U ,R Rn nU ,意,意味着味着将存储在将存储在一张一张二二维表维表r r中的数据分散到了若中的数据分散到了若干干个个二二维表维表r r1 1,r r2 2,r rn n中。这样的分解应该不丢中。这样的分解应该不丢失失信息,即能通信息,即能通过对关系过对关系r r1 1,r r2 2,r rn n的自然连接运算重新得到关的自然连接运算重新得到关系系r r中的所有信息。中的所有信息。n 事实上,将关系事实上,将关系r r投影为投影为r r1 1,r r2 2,r rn n时不会丢时不会丢失失信信息,关息,

53、关键键是对是对r r1 1,r r2 2,r rn n做自然连接时可能做自然连接时可能产产生生一些一些r r中原来没有的元组,从而无法区别中原来没有的元组,从而无法区别哪哪些元组是些元组是r r中原来有的,即数据库中应该存在的数据,中原来有的,即数据库中应该存在的数据,哪哪些是不些是不应该有的。在这个意义上就丢应该有的。在这个意义上就丢失失了信息。了信息。 5454北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续

54、)关系模式的分解准则(续)n 这三种分解方这三种分解方案案是否都满足分解要求是否都满足分解要求呢呢?n 假假设此关系模式的数据如表所示,此关系用设此关系模式的数据如表所示,此关系用r r表示。表示。SnoSno DeptDept LocLoc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3L15555北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续)关系模式的分解准则(续)n 若按方若按方案案

55、1 1将将S-D-LS-D-L投影到投影到S-LS-L和和D-LD-L的属性上,得到的属性上,得到如左边两个表所示的关系。做自然连接得到结果如如左边两个表所示的关系。做自然连接得到结果如右表所示。右表所示。SnoSno LocLoc S01L1 S02 L2 S03 L2S04 L1DeptDept LocLoc D1 L1 D2 L2 D3 L1 SnoSno DeptDept LocLoc S01D1 L1 S01D3L1S02 D2 L2 S03 D2L2S04D1 L1S04 D3L15656北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设

56、计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续)关系模式的分解准则(续)n 无损连接性无损连接性n 将关系模式将关系模式R分解为个关系模式分解为个关系模式R1,R2,Rn,若对于,若对于R中的任中的任何一个可能的何一个可能的r,都有,都有r r1*r2*rn,即,即r在在R1,R2,Rn上的投影的自然连接等于上的投影的自然连接等于r,则称关系模,则称关系模式式R的这个分解具有的这个分解具有无损连接性无损连接性。5757北京理工大学珠海学院北京理工大学珠海学院 计算机学院计算机学院 数据库原理与设计数据库原理与设计 张申勇张申勇第第 05 05 章章 关系数据理论与模式求精关系数据理论与模式求精2022-1-22022-1-2关系模式的分解准则(续)关系模式的分解准则(续)n 再分析方再分析方案案2 2。将。将S-D-LS-D-L投影到投影到S-DS-D,S-LS-L的属性上

温馨提示

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

评论

0/150

提交评论