ImageVerifierCode 换一换
格式:PPT , 页数:73 ,大小:531.50KB ,
文档编号:2861946      下载积分:28 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-2861946.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(三亚风情)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(关系数据库规范化理论课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

关系数据库规范化理论课件.ppt

1、1第第7 7章章 关系数据库规范化理论关系数据库规范化理论 2第第7 7章章 关系数据库规范化理论关系数据库规范化理论o数据库设计是数据库应用领域中的主要研究课数据库设计是数据库应用领域中的主要研究课题。题。 o关系数据库规范化理论就是数据库设计的一个关系数据库规范化理论就是数据库设计的一个理论指南。理论指南。 o规范化理论研究的是关系模式中各属性之间的规范化理论研究的是关系模式中各属性之间的数据依赖关系及其对关系模式性能的影响数据依赖关系及其对关系模式性能的影响 ;以;以及及判断关系模式好坏的理论标准判断关系模式好坏的理论标准范式。范式。o如何构造一个合适的关系模式,应构造几个关如何构造一个

2、合适的关系模式,应构造几个关系模式,每个关系模式由哪些属性组成等,都系模式,每个关系模式由哪些属性组成等,都是数据库设计问题,确切地讲是关系数据库的是数据库设计问题,确切地讲是关系数据库的逻辑设计问题。逻辑设计问题。3第第7 7章章 关系数据库规范化理论关系数据库规范化理论o关系模式的形式化定义关系模式的形式化定义 一个完整的关系模式由五部分组成,即它是一一个完整的关系模式由五部分组成,即它是一个五元组:个五元组: R(U, D, DOM, F) R:关系名:关系名 U:组成该关系的属性名集合:组成该关系的属性名集合 D:属性组:属性组U中属性所来自的域中属性所来自的域 DOM:属性向域的映象

3、集合:属性向域的映象集合 F:属性间数据的依赖关系集合:属性间数据的依赖关系集合4第第7 7章章 关系数据库规范化理论关系数据库规范化理论o什么是数据依赖什么是数据依赖n一个关系内部属性与属性之间的约束关系一个关系内部属性与属性之间的约束关系n数据依赖的类型数据依赖的类型o函数依赖(函数依赖(Functional Dependency,简记为简记为FD)o多值依赖(多值依赖(Multivalued Dependency,简记为,简记为MVD)o其他其他5第第7 7章章 关系数据库规范化理论关系数据库规范化理论o关系模式的简化表示关系模式的简化表示 关系模式五元组关系模式五元组R(U, D, D

4、OM, F) 可简化为一个三元组:可简化为一个三元组: R(U, F)o当且仅当属性组当且仅当属性组U上的一个关系上的一个关系r满足函数依满足函数依赖关系赖关系F时,时,r称为称为关系模式关系模式 R(U, F)的一)的一个个关系。关系。6o省省=f(城市城市)n只要给出一个具体的城市值只要给出一个具体的城市值n就会有唯一一个省值和它对应就会有唯一一个省值和它对应o如如“武汉市武汉市”在在“湖北省湖北省”,这里,这里“城市城市”是自变量是自变量X,“省省”是因变量或函数值是因变量或函数值Y。o把把X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X表示为:表示为:XY7o设有关系模式设有关系模

5、式R(A1,A2,An)nX和和Y均为均为A1,A2,An的子集的子集nr是是R的任一具体关系的任一具体关系nt1、t2是是r中的任意两个元组中的任意两个元组o如果由如果由t1X=t2X可以推导出可以推导出t1Y=t2Y,则称,则称X函数决定函数决定Y,或,或Y函数依赖于函数依赖于X,记为,记为XY。8o例:例:Student(Sno, SName, Sdept, Sage)SnoSNameSnoSdeptSnoSageo例:例:SC(Sno, Cno, Grade) (Sno, Cno)Grade97.1.2 7.1.2 一些术语和符号一些术语和符号o平凡函数依赖与非平凡函数依赖平凡函数依赖

6、与非平凡函数依赖 在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,n如果如果XY,但,但Y X,则称,则称XY是非平凡的函数依赖是非平凡的函数依赖 若若XY,但,但Y X, 则称则称XY是是平凡的函数依赖平凡的函数依赖n例:在关系例:在关系SC(Sno, Cno, Grade)中,中, 非平凡函数依赖:非平凡函数依赖: (Sno, Cno) Grade 平凡函数依赖:平凡函数依赖: (Sno, Cno) Sno (Sno, Cno) Cnon如不作特别说明,总是讨论非平凡函数依赖。如不作特别说明,总是讨论非平凡函数依赖。107.1.2 7.1.2 一些术语和符号一些术语和符

7、号o若若XY,则,则X称为这个函数依赖的决定属性称为这个函数依赖的决定属性组,也称为决定因素(组,也称为决定因素(Determinant)。)。o若若XY,YX,则记作,则记作XY。o若若Y不函数依赖于不函数依赖于X,则记作,则记作XY。117.1.2 7.1.2 一些术语和符号一些术语和符号o完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖n在在R(U)中,如果中,如果XY,并且对于,并且对于X的任何一个真子的任何一个真子集集X,都有,都有X Y, 则称则称Y对对X完全函数依赖完全函数依赖,记作,记作 X F Y。n若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X

8、部分函部分函数依赖数依赖,记作,记作X P Y。n例例:(Sno,Cno)Grade是完全函数依赖,是完全函数依赖, (Sno,Cno)Sdept是部分函数依赖是部分函数依赖 因为因为Sno Sdept成立,且成立,且Sno是(是(Sno,Cno)的真子集的真子集 127.1.2 7.1.2 一些术语和符号一些术语和符号o传递函数依赖传递函数依赖n在在R(U)中,如果中,如果XY,(Y X) ,YX YZ, 则称则称Z对对X传递函数依赖传递函数依赖。 记为:记为:X Zn注注: 如果如果YX, 即即XY,则,则Z直接依赖于直接依赖于X。n例例: 在关系在关系S S(Sno,SnameSno,S

9、name,Dept,Dept_master,Dept,Dept_master)中有:中有: Sno dept,Sdept Dept_master Dept_master传递函数依赖于传递函数依赖于Sno传递137.1.3 为什么要讨论函数依赖为什么要讨论函数依赖o数据依赖对关系模式的影响数据依赖对关系模式的影响 例例:建立一个描述学校教务的数据库建立一个描述学校教务的数据库关关系模式:系模式: S-L-C(SnoS-L-C(Sno,SdeptSdept,SLOCSLOC,CnoCno,Grade)Grade)n学生的学号(学生的学号(Sno)、)、n所在系(所在系(Sdept)n学生所住宿舍楼

10、学生所住宿舍楼(SLOC)、)、n 课程号课程号(Cno)n成绩(成绩(Grade)假设每个系的学生都住在一栋楼里,假设每个系的学生都住在一栋楼里,(Sno,Cno)为主码为主码14数据示例数据示例SnoSnoSnameSnameSsexSsexSdeptSdeptSlocSlocCnoCnoGradeGrade95121019512101李勇李勇男男计算机系计算机系2 2公寓公寓C01C01909095121019512101李勇李勇男男计算机系计算机系2 2公寓公寓C02C02868695121019512101李勇李勇男男计算机系计算机系2 2公寓公寓C06C06NULLNULL9512

11、1029512102刘晨刘晨男男计算机系计算机系2 2公寓公寓C02C02787895121029512102刘晨刘晨男男计算机系计算机系2 2公寓公寓C04C04666695211029521102吴宾吴宾女女信息系信息系1 1公寓公寓C01C01828295211029521102吴宾吴宾女女信息系信息系1 1公寓公寓C02C02757595211029521102吴宾吴宾女女信息系信息系1 1公寓公寓C04C04929295211029521102吴宾吴宾女女信息系信息系1 1公寓公寓C05C05505095211039521103张海张海男男信息系信息系1 1公寓公寓C02C02686

12、895211039521103张海张海男男信息系信息系1 1公寓公寓C06C06NULLNULL95311019531101钱小平钱小平女女数学系数学系1 1公寓公寓C01C01808095311019531101钱小平钱小平女女数学系数学系1 1公寓公寓C05C05959595311029531102王大力王大力男男数学系数学系1 1公寓公寓C05C058585157.1.3 为什么要讨论函数依赖为什么要讨论函数依赖o关系模式关系模式 : S-L-C nU Sno, Sdept, SLOC, Cno, Grade n属性组属性组U上的一组函数依赖上的一组函数依赖F: F Sno Sdept,

13、 Sdept SLOC, (Sno, Cno) Grade SnoCnoSdeptSLOCGrade167.1.3 为什么要讨论函数依赖为什么要讨论函数依赖关系模式关系模式Student中存在的问题中存在的问题1. 1. 数据冗余太大数据冗余太大2. 2. 更新异常(更新异常(Update AnomaliesUpdate Anomalies)3. 3. 插入异常(插入异常(Insertion AnomaliesInsertion Anomalies)4. 4. 删除异常(删除异常(Deletion AnomaliesDeletion Anomalies)177.1.3 为什么要讨论函数依赖为什

14、么要讨论函数依赖结论:结论:n S-L-C关系模式不是一个好的模式。关系模式不是一个好的模式。n“好好”的模式:不会发生插入异常、删除异的模式:不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少常、更新异常,数据冗余应尽可能少原因:原因:由存在于模式中的某些由存在于模式中的某些函数函数依赖引起的。依赖引起的。解决方法:模式分解解决方法:模式分解,即把一个关系模式分解成两即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些个或多个关系模式,在分解的过程中消除那些“不良不良”的函数依赖,从而获得良好的关系模的函数依赖,从而获得良好的关系模式。式。187.1.3 为什么要讨论函数依

15、赖为什么要讨论函数依赖o分解关系模式分解关系模式o把这个单一模式分成把这个单一模式分成3个关系模式:个关系模式:nS(Sno,Sdept)Sno SdeptnSC(Sno,Cno,Grade ) (Sno,Cno) Grade)nDEPT(Sdept,SLOC ) Sdept SLOC197.2 关系规范化关系规范化 规范化理论规范化理论正是用来改造关系模式,通过分解正是用来改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余决插入异常、删除异常、更新异常和数据冗余问题。问题。207.2.1 7.2.1

16、关系模式中的码关系模式中的码o候选码与主码候选码与主码n设设K为为R中的属性或属性组合。若中的属性或属性组合。若K U, 则则K称为称为R的侯选码的侯选码。n若候选码多于一个,则选定其中的一个做为主码若候选码多于一个,则选定其中的一个做为主码。o主属性与非主属性主属性与非主属性n包含在任何一个候选码中的属性包含在任何一个候选码中的属性 ,称为主属性,称为主属性n不包含在任何码中的属性称为非主属性或非码属性不包含在任何码中的属性称为非主属性或非码属性o全码全码n整个属性组是码,称为全码整个属性组是码,称为全码F217.2.1 7.2.1 关系模式中的码关系模式中的码o例:例:n关系模式关系模式S

17、(Sno,Sdept,Sage),单个属性,单个属性Sno是码是码nSC(Sno,Cno,Grade)中,()中,(Sno,Cno)是码)是码n关系模式关系模式R(P,W,A) P:演奏者:演奏者 W:作品:作品 A:听众:听众 一个演奏者可以演奏多个作品一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品听众可以欣赏不同演奏者的不同作品 码为码为(P,W,A),即,即All-Key22o例:有关系模式例:有关系模式 学生(学号,姓名,性别,身份证号,年龄,所在系)学生(学号,姓名,性别,身份证号,年龄,所在系)n候选码候选码:学号

18、,身份证号。:学号,身份证号。n主码主码:“学号学号”或或“身份证号身份证号”。n主属性主属性:学号,课程号。:学号,课程号。n非主属性非主属性:姓名,性别,年龄,所在系。:姓名,性别,年龄,所在系。23o例有关系模式:例有关系模式: 选课(学号,课程号,考试次数,成绩)选课(学号,课程号,考试次数,成绩)o设一个学生对一门课程可以有多次考试,每一设一个学生对一门课程可以有多次考试,每一次考试有一个考试成绩。次考试有一个考试成绩。n候选码候选码:(学号,课程号,考试次数),也为主:(学号,课程号,考试次数),也为主码。码。n主属性主属性:学号,课程号,考试次数:学号,课程号,考试次数n非主属性

19、非主属性:成绩。:成绩。24o例例.有关系模式:授课(教师号,课程号,学年)有关系模式:授课(教师号,课程号,学年)o语义:一个教师在一个学年可以讲授多门不同的课程,语义:一个教师在一个学年可以讲授多门不同的课程,可以在不同学年对同一门课程讲授多次,但不能在同一可以在不同学年对同一门课程讲授多次,但不能在同一个学年对同一门课程讲授多次。一门课程在一个学年可个学年对同一门课程讲授多次。一门课程在一个学年可以由多个不同的教师讲授,同一个学年可以开设多门课以由多个不同的教师讲授,同一个学年可以开设多门课程,同一门课程可以在不同学年开设多次。程,同一门课程可以在不同学年开设多次。n候选码候选码:(教师

20、号,课程号,学年):(教师号,课程号,学年)n主码主码:同候选码。:同候选码。n主属性主属性:教师号,课程号,学年:教师号,课程号,学年n非主属性非主属性:无:无o称这种候选码为全部属性的表为称这种候选码为全部属性的表为全码表全码表257.2.1 7.2.1 关系模式中的码关系模式中的码o外部码外部码: :用于关系表之间建立关联的属性(组)。用于关系表之间建立关联的属性(组)。n关系模式关系模式 R 中属性或属性组中属性或属性组X 并非并非 R的码,但的码,但 X 是另一个关系模式的码,则称是另一个关系模式的码,则称 X 是是R 的的外部码外部码,也,也称称外码外码。n如在如在SC(Sno,C

21、no,Grade)中,)中,Sno不是码,不是码,但但Sno是关系模式是关系模式S(Sno,Sdept,Sage)的码,)的码,则则Sno是关系模式是关系模式SC的外部码的外部码 n主码与外部码一起提供了表示关系间联系的手段。主码与外部码一起提供了表示关系间联系的手段。267.2.2 范式范式o范式是符合某一种级别的关系模式的集合范式是符合某一种级别的关系模式的集合o关系数据库中的关系必须满足一定的要求。满足不同程度关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式(要求的为不同范式(Normal Form)。)。o范式的种类:范式的种类:n第一范式第一范式(1NF)n第二范式

22、第二范式(2NF)n第三范式第三范式(3NF)nBC范式范式(BCNF)n第四范式第四范式(4NF)n第五范式第五范式(5NF)277.2.2 范式范式o各种范式之间存在联系:各种范式之间存在联系:o某一关系模式某一关系模式R为第为第n范式,可简记为范式,可简记为RnNF。o一个低一级范式的关系模式,通过一个低一级范式的关系模式,通过模式分解模式分解可可以转换为若干个高一级范式的关系模式的集合,以转换为若干个高一级范式的关系模式的集合,这种过程就叫这种过程就叫规范化规范化 。NF5NF4BCNFNF3NF2NF1281NFo第一范式第一范式: :如果一个关系模式如果一个关系模式R R的所有属性

23、都是的所有属性都是不可分的基本数据项不可分的基本数据项,则,则R1NFR1NFo第一范式是对关系模式的最起码的要求。不满第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库足第一范式的数据库模式不能称为关系数据库o但是满足第一范式的关系模式并不一定是一个但是满足第一范式的关系模式并不一定是一个好的关系模式好的关系模式291NF302NFo第二范式第二范式: :如果如果R R( (U U, ,F F)1NF)1NF,并且,并且R R中的每个非中的每个非主属性都完全函数依赖于主码,则主属性都完全函数依赖于主码,则R R( (U U, ,F F)2NF)2NFo例例: S

24、-L-C: S-L-C(Sno,Sdept,SLOC,CnoSno,Sdept,SLOC,Cno,Grade,Grade) 函数依赖包括:函数依赖包括: ( (Sno, CnoSno, 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 存在部分函数依赖,不是存在部分函数依赖,不是2NF2NF。31 2NF(续)(续)oS-L-C的

25、码为的码为(Sno, Cno)oS-L-C满足第一范式。满足第一范式。o非主属性非主属性Sdept和和Sloc部分函数依赖于码部分函数依赖于码(Sno, Cno)SnoCnoGradeSdeptSlocS-L-C322NF(续)(续)oS-L-C不是一个好的关系模式不是一个好的关系模式o原因原因 Sdept、 Sloc部分函数依赖于码。部分函数依赖于码。o解决方法解决方法 S-L-C分解为两个关系模式,以消除这些部分分解为两个关系模式,以消除这些部分函数依赖函数依赖 332NF(续)(续)o分解办法分解办法n首先,对于组成主码的属性集合的每一个子首先,对于组成主码的属性集合的每一个子集,用它作

26、为主码构成一个表。集,用它作为主码构成一个表。n然后,将依赖于这些主码的属性放置到相应然后,将依赖于这些主码的属性放置到相应的表中。的表中。n最后,去掉只由主码的子集构成的表。最后,去掉只由主码的子集构成的表。oS-L-C分解为两个关系模式分解为两个关系模式 SC(Sno, Cno, Grade) S-L(Sno, Sdept, Sloc)342NF(续)(续)o分解示例分解示例n对于对于S-L-C表,首先分解为如下形式的三张表:表,首先分解为如下形式的三张表:S-L(Sno,)C(Cno,)S-C(Sno, Cno,)n然后,将依赖于这些主码的属性放置到相应的表中然后,将依赖于这些主码的属性

27、放置到相应的表中S-L(Sno,Sdept, Sloc)C(Cno)S-C(Sno, Cno, Grade)n最后,去掉只由主码的子集构成的表,最终分解为:最后,去掉只由主码的子集构成的表,最终分解为: S-L(Sno,Sdept, Sloc) S-C(Sno, Cno, Grade)352NF(续)(续)函数依赖图:SnoCnoGradeSCS-LSnoSdeptSlocv关系模式关系模式SC的码为(的码为(Sno,Cno)v关系模式关系模式S-L的码为的码为Snov这样非主属性对码都是完全函数依赖这样非主属性对码都是完全函数依赖 36 2NF(续)(续) S-L-C(Sno, Sdept,

28、 Sloc, Cno, Grade) 1NF S-L-C(Sno, Sdept, Sloc, Cno, Grade) 2NF SC(Sno, Cno, Grade) 2NF S-L(Sno, Sdept, Sloc) 2NF37 2NF(续)(续)o采用投影分解法将一个采用投影分解法将一个1NF的关系分解为多个的关系分解为多个2NF的关系,可以在一定程度上减轻原的关系,可以在一定程度上减轻原1NF关关系中存在的插入异常、删除异常、数据冗余度大、系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。修改复杂等问题。o将一个将一个1NF关系分解为多个关系分解为多个2NF的关系,并不的关系,并

29、不能完全消除关系模式中的各种异常情况和数据冗能完全消除关系模式中的各种异常情况和数据冗余。余。382NF(续)(续)oS-LS-L(Sno,Sdept, SlocSno,Sdept, Sloc)存在问题)存在问题n数据冗余数据冗余 :有多少个学生就有多少个重复的:有多少个学生就有多少个重复的SdeptSdept和和SLOCSLOC; n插入异常插入异常:当新建一个系时,若还没有招收学生,:当新建一个系时,若还没有招收学生,则无法插入;则无法插入;SnoSnoSnameSnameSsexSsexSdeptSdeptSlocSloc9512101李勇李勇男男计算机系计算机系2公寓公寓9512102

30、刘晨刘晨男男计算机系计算机系2公寓公寓9521102吴宾吴宾女女信息系信息系1公寓公寓9521103张海张海男男信息系信息系1公寓公寓9531101钱小平钱小平女女数学系数学系1公寓公寓9531103王大力王大力女女数学系数学系1公寓公寓393NFo3NF的定义的定义关系模式关系模式R 中若不存在这样的码中若不存在这样的码X、属、属性组性组Y及非主属性及非主属性Z(Z Y), 使得使得XY,YZ成立成立,Y X,则称,则称R 3NF。n若若R3NF,则每一个,则每一个非主属性非主属性既不部分依既不部分依赖赖于码于码也不传递依赖也不传递依赖于码。于码。 403NF(续)(续)例:例:2NF关系模

31、式关系模式S-L(Sno, Sdept, Sloc)中中n函数依赖:函数依赖: SnoSdept Sdept Sno SdeptSloc 可得:可得: SnoSloc,即,即S-L中存在非主属性对码的传递函数中存在非主属性对码的传递函数依赖,依赖,S-L 3NF传递41 3NF(续)(续)函数依赖图:S-LSnoSdeptSloc423NF(续)(续)o解决方法解决方法 采用投影分解法,把采用投影分解法,把S-L分解为两个关系模式,以消分解为两个关系模式,以消除传递函数依赖:除传递函数依赖: S-D(Sno, Sdept) D-L(Sdept,Sloc)S-D的码为的码为Sno, D-L的码为

32、的码为Sdept。n分解后的关系模式分解后的关系模式S-D与与D-L中不再存在传递依中不再存在传递依赖赖 433NF(续)(续)o分解过程分解过程n对于不是候选码的每个决定因子,从表中删对于不是候选码的每个决定因子,从表中删去依赖于它的所有属性;去依赖于它的所有属性; S-DS-D(Sno,SdeptSno,Sdept)(主码为(主码为SnoSno) n新建一个表,新表中包含在原表中所有依赖新建一个表,新表中包含在原表中所有依赖于该决定因子的属性;于该决定因子的属性; S-LS-L(Sdept,SlocSdept,Sloc)n将决定因子作为新表的主码。将决定因子作为新表的主码。 S-LS-L的

33、的 主码为主码为SdeptSdept443NF(续)(续)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) 3NF453NF(续)(续)o违反违反3NF3NF的传递依赖的三种情况的传递依赖的三种情况463NF(续)(续)o采用投影分解法将一个采用投影分解法将一个2NF的关系分解为多个的关系分解为多个3NF的关的关系,可以在一定程度上解决原系,可以在一定程度上解决原2NF

34、关系中存在的插入异关系中存在的插入异常、删除异常、数据冗余度大、修改复杂等问题。常、删除异常、数据冗余度大、修改复杂等问题。o 将一个将一个2NF关系分解为多个关系分解为多个3NF的关系后,仍然不能的关系后,仍然不能完全消除关系模式中的各种异常情况和数据冗余。完全消除关系模式中的各种异常情况和数据冗余。47BC范式(范式(BCNF)o关系模式关系模式R1NF,若,若XY且且Y X时时X必含有码,则必含有码,则R BCNF。o等价于:每一个决定属性因素都包含码等价于:每一个决定属性因素都包含码48BCNF(续)(续)o若若RBCNF n所有非主属性对每一个码都是完全函数依赖所有非主属性对每一个码

35、都是完全函数依赖n所有的主属性对每一个不包含它的码,也是完全所有的主属性对每一个不包含它的码,也是完全函数依赖函数依赖n没有任何属性完全函数依赖于非码的任何一组属没有任何属性完全函数依赖于非码的任何一组属性性oR BCNF R 3NF充分不必要49BCNF(续)(续)o例:关系模式例:关系模式C(Cno,Cname,Pcno)nC3NFnCBCNFo例:关系模式例:关系模式S(Sno,Sname,Sdept,Sage)n假定假定S有两个码有两个码Sno,SnamenS3NFnS BCNF50BCNF(续)(续)o例:关系模式例:关系模式SJP(S,J,P)n函数依赖:(函数依赖:(S,J)P;

36、(J,P)Sn(S,J)与()与(J,P)都可以作为候选码)都可以作为候选码,属性属性相交相交nSJP3NFnSJPBCNF51 BCNF(续)(续)o例:在关系模式例:在关系模式STC(S,T,C)中,)中,S表示学生,表示学生,T表示教师,表示教师,C表示课程。表示课程。n函数依赖:函数依赖: (S,C)T,(S,T)C,TCn(S,C)和和(S,T)都是候选码都是候选码52 BCNF(续)(续) CSCTSTSTC中的函数依赖中的函数依赖53BCNF(续)(续)oSTC3NF n没有任何非主属性对码传递依赖或部分没有任何非主属性对码传递依赖或部分依赖依赖 oSTCBCNFnT是决定因素,

37、是决定因素,T不包含码不包含码54BCNF(续)(续)o解决方法:将解决方法:将STC分解为二个关系模式:分解为二个关系模式: ST(S,T) BCNF, TC(T,C) BCNF 没有没有任何属性任何属性对码的部分函数依赖和传递函数依赖对码的部分函数依赖和传递函数依赖STSTTCTC55BCNF(续)(续)o主属性对候选键的传递依赖主属性对候选键的传递依赖563NF与与BCNF的关系的关系oR BCNF R 3NFo如果R3NF,且R只有一个候选码 R BCNF R 3NF充分不必要充分必要57多值依赖与多值依赖与4NF(了解)(了解)o多值依赖定义多值依赖定义 设设R(U)是一个属性集是一

38、个属性集U上的一个关系模式,上的一个关系模式, X、 Y和和Z是是U的子集,并且的子集,并且ZUXY。关系模式。关系模式R(U)中中多值依赖多值依赖 XY成立,当且仅当对成立,当且仅当对R(U)的的任一关系任一关系r,给定的一对(,给定的一对(x,z)值,有一组)值,有一组Y的的值,这组值仅仅决定于值,这组值仅仅决定于x值而与值而与z值无关。值无关。o关系模式关系模式R1NF,如果对于,如果对于R的每个非平的每个非平凡多值依赖凡多值依赖XY(Y X),),X都含有码,则都含有码,则R4NF。58规范化举例规范化举例o设有关系模式:设有关系模式:Student(学号,姓名,(学号,姓名,导师号,

39、导师名,课程号,课程说明,成导师号,导师名,课程号,课程说明,成绩)绩)o语义:一名学生只有一个导师,学生可选语义:一名学生只有一个导师,学生可选多门课。多门课。o将其规范化成将其规范化成3NF的。的。591 1此表是此表是1NF1NF,其函数依赖为:,其函数依赖为:学号学号 p p 姓名,学号姓名,学号 p p 导师号,学号导师号,学号 p p 导师名,导师名, 课程号课程号 p p 课程说明课程说明, (, (学号,课程号学号,课程号)成绩成绩 主码为(学号,课程号)主码为(学号,课程号) 存在部分函数依赖关系,不是存在部分函数依赖关系,不是2NF2NF, 首先将其分解为首先将其分解为2N

40、F2NF。学生(学生(学号学号,姓名,导师号,导师名),姓名,导师号,导师名),课程(课程(课程号课程号,课程说明),课程说明),成绩(成绩(学号,课程号学号,课程号,成绩),成绩) 均为均为2NF2NF602 2判是否为判是否为3NF 3NF “学生学生”表不是表不是3NF3NF,其函数依赖为:,其函数依赖为:学号学号姓名,学号姓名,学号导师号,导师号, 导师号导师号 p p 导师名,导师名,学号学号传递传递导师名导师名o消除依赖于决定者的属性,把它们放在一个单消除依赖于决定者的属性,把它们放在一个单独的表中,得到:独的表中,得到:o学生(学生(学号学号,姓名,导师号),导师(导师号,姓名,

41、导师号),导师(导师号,导师名)导师名)617.3 关系模式的分解准则关系模式的分解准则o模式分解要满足:模式分解要满足:模式分解具有无损连接性;模式分解具有无损连接性;模式分解能够保持函数依赖。模式分解能够保持函数依赖。 无损连接无损连接是指分解后的关系通过自然连接可是指分解后的关系通过自然连接可以恢复成原来的关系,即通过自然连接得到的以恢复成原来的关系,即通过自然连接得到的关系与原来的关系相比,既不多出信息、又不关系与原来的关系相比,既不多出信息、又不丢失信息。丢失信息。 保持函数依赖保持函数依赖分解是指在模式的分解过程中,分解是指在模式的分解过程中,函数依赖不能丢失的特性,即模式分解不能

42、破函数依赖不能丢失的特性,即模式分解不能破坏原来的语义。坏原来的语义。62关系模式的分解准则(续)关系模式的分解准则(续) 例:例:S-D-LS-D-L(SnoSno,DeptDept,LocLoc)有函数依赖:)有函数依赖: SnoSno Dept Dept, Dept LocDept Loc 不是第三范式的。至少可以有三种分解方案,分不是第三范式的。至少可以有三种分解方案,分别为:别为:方案方案1 1:S-LS-L(SnoSno,LocLoc),),D-LD-L(DeptDept,LocLoc)方案方案2 2:S-DS-D(SnoSno,DeptDept),),S-LS-L(SnoSno,

43、LocLoc)方案方案3 3:S-DS-D(SnoSno,DeptDept),),D-LD-L(DeptDept,LocLoc) 这三种分解方案得到的关系模式都是第三范式这三种分解方案得到的关系模式都是第三范式的,那么如何比较这三种方案的好坏呢?由此在将的,那么如何比较这三种方案的好坏呢?由此在将一个关系模式分解为多个关系模式时除了提高规范一个关系模式分解为多个关系模式时除了提高规范化程度之外,还需要考虑化程度之外,还需要考虑其他的一些因素其他的一些因素。63关系模式的分解准则(续)关系模式的分解准则(续)o 将一个关系模式将一个关系模式RURF分解为若干个关系模式分解为若干个关系模式R R1

44、 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中的所有信息。中的所有信息。o事实上,将关系事实上,将关系r r投影为投影为r r1 1,r r2 2,r rn n时不会丢失时不会丢失信息,关键是对信息,关键是对r r1 1,r r2 2,r rn n做自然连接时

45、可能产做自然连接时可能产生一些生一些r r中原来没有的元组,从而无法区别哪些元组中原来没有的元组,从而无法区别哪些元组是是r r中原来有的,即数据库中应该存在的数据,哪些中原来有的,即数据库中应该存在的数据,哪些是不应该有的。在这个意义上就丢失了信息。是不应该有的。在这个意义上就丢失了信息。 64关系模式的分解准则(续)关系模式的分解准则(续)o这三种分解方案是否都满足分解要求呢?这三种分解方案是否都满足分解要求呢?o假设此关系模式的数据如表所示,此关系用假设此关系模式的数据如表所示,此关系用r r表示。表示。Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D3 L3

46、S04 D4 L4 65关系模式的分解准则(续)关系模式的分解准则(续)o若按方案若按方案1 1将将S-D-LS-D-L投影到投影到S-LS-L和和D-LD-L的属性上,的属性上,得到如左边两个表所示的关系。做自然连接得得到如左边两个表所示的关系。做自然连接得到结果如右表所示。到结果如右表所示。Sno Loc S01L1 S02 L2 S03 L3 S04 L4 Dept Loc D1 L1 D2 L2 D3 L3 D4 L4 Sno Dept Loc S01D1 L1 S01D3L1S02 D2 L2 S03 D2L2S04D1 L1S04 D3L4166关系模式的分解准则(续)关系模式的分

47、解准则(续)o无损连接性无损连接性o将关系模式将关系模式RURF分解为个关系模式分解为个关系模式R R1 1U ,R R2 2U ,R Rn nU ,若对,若对于于R R中的任何一个可能的中的任何一个可能的r r,都有,都有r r r r1 1* *r r2 2* * *r rn n,即,即r r在在R R1 1,R R2 2,R Rn n上的投上的投影的自然连接等于影的自然连接等于r r,则称关系模式,则称关系模式R R的这个的这个分解具有分解具有无损连接性无损连接性。67关系模式的分解准则(续)关系模式的分解准则(续)o再分析方案再分析方案2 2。将。将S-D-LS-D-L投影到投影到S-

48、DS-D,S-LS-L的的属性上,得到的关系如左边两个表所示。属性上,得到的关系如左边两个表所示。做做自然连接自然连接得到的关系右表所示。得到的关系右表所示。Sno Loc S01L1 S02 L2 S03 L3 S04 L4 Sno Dept S01D1S02 D2 S03 D3 S04 D4 Sno Dept Loc S01D1 L1 S02 D2 L2 S03 D2L2S04 D3 L1 68关系模式的分解准则(续)关系模式的分解准则(续)o方案方案2 2自然连接后恢复成了原来的自然连接后恢复成了原来的关系,因此,分解方案关系,因此,分解方案2 2具有无损具有无损连接性。连接性。o但分解

49、方案但分解方案2 2没有保持原有的函数没有保持原有的函数依赖关系,也不是好的分解方法。依赖关系,也不是好的分解方法。69关系模式的分解准则(续)关系模式的分解准则(续)o 分解方案分解方案3 3既满足无损连接性,又保持了原有既满足无损连接性,又保持了原有的函数依赖关系,因此它是有个好的分解方法。的函数依赖关系,因此它是有个好的分解方法。o分解具有无损连接性和分解保持函数依赖是两分解具有无损连接性和分解保持函数依赖是两个独立的标准个独立的标准。具有无损连接性的分解不一定。具有无损连接性的分解不一定保持函数依赖;保持函数依赖的分解不一定具保持函数依赖;保持函数依赖的分解不一定具有无损连接性。有无损

50、连接性。o一般情况下,在进行模式分解时,应将一般情况下,在进行模式分解时,应将有直接有直接依赖关系的属性放置在一个关系模式中依赖关系的属性放置在一个关系模式中,这样,这样得到的分解结果一般能具有无损连接性,并能得到的分解结果一般能具有无损连接性,并能保持函数依赖关系不变。保持函数依赖关系不变。 70规范化小结规范化小结o关系数据库的规范化理论是数据库逻辑设计的工关系数据库的规范化理论是数据库逻辑设计的工具具o目的:尽量消除插入、删除异常,修改复杂,数目的:尽量消除插入、删除异常,修改复杂,数据冗余据冗余o基本思想:逐步消除数据依赖中不合适的部分基本思想:逐步消除数据依赖中不合适的部分n实质:概

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|