数据库系统概论第5版课件第6章

上传人:清晨86****784 文档编号:260544226 上传时间:2022-02-28 格式:PPTX 页数:123 大小:800.30KB
返回 下载 相关 举报
数据库系统概论第5版课件第6章_第1页
第1页 / 共123页
数据库系统概论第5版课件第6章_第2页
第2页 / 共123页
数据库系统概论第5版课件第6章_第3页
第3页 / 共123页
数据库系统概论第5版课件第6章_第4页
第4页 / 共123页
数据库系统概论第5版课件第6章_第5页
第5页 / 共123页
点击查看更多>>
资源描述

《数据库系统概论第5版课件第6章》由会员分享,可在线阅读,更多相关《数据库系统概论第5版课件第6章(123页珍藏版)》请在金锄头文库上搜索。

1、AnIntroductiontoDatabaseSystem数据库系统概论AnIntroductiontoDatabaseSystem第六章 关系数据理论中国人民大学信息学院AnIntroductiontoDatabaseSystemv基于某个数据库管理系统设计数据库,如何基于数据库系统编程n第6章关系数据理论n第7章数据库设计n第8章数据库编程第二篇 设计与应用开发篇AnIntroductiontoDatabaseSystem第六章关系数据理论6.1问题的提出6.2规范化6.3数据依赖的公理系统*6.4模式的分解6.5小结AnIntroductiontoDatabaseSystemAnInt

2、roductiontoDatabaseSystem6.1问题的提出关系数据库逻辑设计n针对具体问题,如何构造一个适合于它的数据模式n数据库逻辑设计的工具关系数据库的规范化理论AnIntroductiontoDatabaseSystem*问题的提出(续)v关系模式由五部分组成,是一个五元组:R(U,D,DOM,F)n关系名R是符号化的元组语义nU为一组属性nD为属性组U中的属性所来自的域nDOM为属性到域的映射nF为属性组U上的一组数据依赖AnIntroductiontoDatabaseSystem问题的提出(续)n由于D、DOM与模式设计关系不大,因此在本章中把关系模式看作一个三元组:Rn当且

3、仅当U上的一个关系r满足F时,r称为关系模式R的一个关系n作为二维表,关系要符合一个最基本的条件:每个分量必须是不可分开的数据项。满足了这个条件的关系模式就属于第一范式(1NF)AnIntroductiontoDatabaseSystem*问题的提出(续)v数据依赖n 是一个关系内部属性与属性之间的一种约束关系l通过属性间值的相等与否体现出来的数据间相互联系n 是现实世界属性间相互联系的抽象n 是数据内在的性质n 是语义的体现AnIntroductiontoDatabaseSystem*问题的提出(续)v数据依赖的主要类型n函数依赖(FunctionalDependency,简记为FD)n多值

4、依赖(Multi-ValuedDependency,简记为MVD)AnIntroductiontoDatabaseSystem*问题的提出(续)v函数依赖普遍存在于现实生活中n描述一个学生关系,可以有学号、姓名、系名等属性。l一个学号只对应一个学生,一个学生只在一个系中学习l“学号”值确定后,学生的姓名及所在系的值就被唯一确定。nSname=f(Sno),Sdept=f(Sno)l即Sno函数决定SnamelSno函数决定Sdeptl记作SnoSname,SnoSdeptAnIntroductiontoDatabaseSystem*问题的提出(续)v例6.1建立一个描述学校教务的数据库。涉及的

5、对象包括:n学生的学号(Sno)n所在系(Sdept)n系主任姓名(Mname)n课程号(Cno)n成绩(Grade)AnIntroductiontoDatabaseSystem*问题的提出(续)n假设学校教务的数据库模式用一个单一的关系模式Student来表示,则该关系模式的属性集合为:USno,Sdept,Mname,Cno,Graden现实世界的已知事实(语义):l一个系有若干学生, 但一个学生只属于一个系;l一个系只有一名(正职)负责人;l一个学生可以选修多门课程,每门课程有若干学生选修;l每个学生学习每一门课程有一个成绩。 AnIntroductiontoDatabaseSystem

6、*问题的提出(续)n由此可得到属性组U上的一组函数依赖F:F=SnoSdept,SdeptMname,(Sno,Cno)GradeSnoCnoSdeptMnameGradeAnIntroductiontoDatabaseSystem*问题的提出(续)关系模式Student中存在的问题:(1)数据冗余n浪费大量的存储空间l每一个系主任的姓名重复出现,重复次数与该系所有学生的所有课程成绩出现次数相同。AnIntroductiontoDatabaseSystem*问题的提出(续)(2)更新异常(UpdateAnomalies)n数据冗余,更新数据时,维护数据完整性代价大。l某系更换系主任后,必须修改

7、与该系学生有关的每一个元组。AnIntroductiontoDatabaseSystem*问题的提出(续)(3)插入异常(InsertionAnomalies)n如果一个系刚成立,尚无学生,则无法把这个系及其系主任的信息存入数据库。AnIntroductiontoDatabaseSystem*问题的提出(续)(4)删除异常(DeletionAnomalies)n如果某个系的学生全部毕业了,则在删除该系学生信息的同时,把这个系及其系主任的信息也丢掉了。AnIntroductiontoDatabaseSystem*问题的提出(续)v结论nStudent关系模式不是一个好的模式。n一个“好”的模式应

8、当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少。v原因n由存在于模式中的某些数据依赖引起的。v解决方法n用规范化理论改造关系模式来消除其中不合适的数据依赖AnIntroductiontoDatabaseSystem*问题的提出(续)v把这个单一的模式分成三个关系模式:nS(Sno,Sdept,SnoSdept);nSC(Sno,Cno,Grade,(Sno,Cno)Grade);nDEPT(Sdept,Mname,SdeptMname);v这三个模式都不会发生插入异常、删除异常的问题,数据的冗余也得到了控制。AnIntroductiontoDatabaseSystem第六章关系数据

9、理论6.1问题的提出6.2规范化6.3数据依赖的公理系统*6.4模式的分解6.5小结AnIntroductiontoDatabaseSystem6.2规范化6.2.1函数依赖6.2.2码6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依赖6.2.84NF6.2.9规范化小结AnIntroductiontoDatabaseSystem6.2.1函数依赖1.函数依赖2.平凡函数依赖与非平凡函数依赖3.完全函数依赖与部分函数依赖4.传递函数依赖AnIntroductiontoDatabaseSystem*1.函数依赖v定义6.1设R(U)是一个属性集U上的关系模式,X和

10、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。AnIntroductiontoDatabaseSystem函数依赖(续)v例Student(Sno,Sname,Ssex,Sage,Sdept),假设不允许重名,则有:SnoSsex,SnoSageSnoSdept,SnoSnameSnameSsex,SnameSageSnameSdept但SsexSage,SsexSdept若XY,并且YX,则记为XY。若Y不函数依赖于X,则记为XY。AnIntroductiontoData

11、baseSystem函数依赖(续)SnoSnameSsexSageSdeptS1 张三男20计算机系S1李四女21自动化系S3王五男20计算机系S4赵六男21计算机系S5田七男20计算机系.违背了SnoSnameAnIntroductiontoDatabaseSystem函数依赖(续)v由下面的关系表,能否得出SnoSnameSnoSnameSsexSageSdeptS1张三男20计算机系S2李四女21自动化系S3王五男20计算机系S4赵六男21计算机系S5田七男20计算机系.函数依赖不是指关系模式R的某个或某些关系实例满足的约束条件,而是指R的所有关系实例均要满足的约束条件。AnIntrod

12、uctiontoDatabaseSystem*函数依赖(续)v函数依赖是语义范畴的概念,只能根据数据的语义来确定一个函数依赖。n例如“姓名年龄”这个函数依赖只有在不允许有同名人的条件下成立AnIntroductiontoDatabaseSystem*2.平凡函数依赖与非平凡函数依赖vXY,但YX则称XY是非平凡的函数依赖。vXY,但YX则称XY是平凡的函数依赖。对于任一关系模式,平凡函数依赖都是必然成立的,它不反映新的语义。若不特别声明, 我们总是讨论非平凡函数依赖。AnIntroductiontoDatabaseSystem*平凡函数依赖与非平凡函数依赖(续)v若XY,则X称为这个函数依赖的

13、决定因素(Determinant)。v若XY,YX,则记作XY。v若Y不函数依赖于X,则记作XY。AnIntroductiontoDatabaseSystem*3.完全函数依赖与部分函数依赖v定义6.2在R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖,记作XY。v若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作XYFPAnIntroductiontoDatabaseSystem*完全函数依赖与部分函数依赖(续)v例在关系SC(Sno,Cno,Grade)中,有:n由于:SnoGrade,CnoGrade,因此:(Sno,Cno)Grade(S

14、no,Cno)Sno(Sno,Cno)CnoFPPAnIntroductiontoDatabaseSystem*4.传递函数依赖v定义6.3在R(U)中,如果XY(YX),YX,YZ,ZY,则称Z对X传递函数依赖(transitivefunctionaldependency)。记为:XZ。n注:如果YX,即XY,则Z直接依赖于X,而不是传递函数依赖。n例在关系Std(Sno,Sdept,Mname)中,有:SnoSdept,SdeptMname,Mname传递函数依赖于Sno传递AnIntroductiontoDatabaseSystem6.2规范化6.2.1函数依赖6.2.2码6.2.3范式

15、6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依赖6.2.84NF6.2.9规范化小结AnIntroductiontoDatabaseSystem*6.2.2码v定义6.4设K为R中的属性或属性组合。若KU,则K称为R的一个候选码(CandidateKey)。n如果U部分函数依赖于K,即KU,则K称为超码(Surpkey)。候选码是最小的超码,即K的任意一个真子集都不是候选码。v若关系模式R有多个候选码,则选定其中的一个做为主码(Primarykey)。FPAnIntroductiontoDatabaseSystem*码(续)v主属性与非主属性n包含在任何一个候选码中的属性,

16、称为主属性(Primeattribute)n不包含在任何码中的属性称为非主属性(Nonprimeattribute)或非码属性(Non-keyattribute)v全码:整个属性组是码,称为全码(All-key)AnIntroductiontoDatabaseSystem*码(续)例6.2S(Sno,Sdept,Sage),单个属性Sno是码SC(Sno,Cno,Grade)中,(Sno,Cno)是码例6.3R(P,W,A)P:演奏者W:作品A:听众一个演奏者可以演奏多个作品某一作品可被多个演奏者演奏听众可以欣赏不同演奏者的不同作品 码为(P,W,A),即All-KeyAnIntroductiontoDatabaseSystem*码(续)v定义6.5关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreignkey)也称外码。nSC(Sno,Cno,Grade)中,Sno不是码nSno是S(Sno,Sdept,Sage)的码,则Sno是SC的外码v主码与外部码一起提供了表示关系间联系的手段AnIntroductiontoDatabaseSystem

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号