第7章关系数据库理论 .ppt

上传人(卖家):hyngb9260 文档编号:6160394 上传时间:2023-06-04 格式:PPT 页数:37 大小:401KB
下载 相关 举报
第7章关系数据库理论 .ppt_第1页
第1页 / 共37页
第7章关系数据库理论 .ppt_第2页
第2页 / 共37页
第7章关系数据库理论 .ppt_第3页
第3页 / 共37页
第7章关系数据库理论 .ppt_第4页
第4页 / 共37页
第7章关系数据库理论 .ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、1.1.关系模式应满足的基本要求关系模式应满足的基本要求1)1)元组的每个分量必须是不可分的数据项。元组的每个分量必须是不可分的数据项。2)2)数据库中的数据冗余应尽可能少。数据库中的数据冗余应尽可能少。3)3)数据库不能因为数据更新操作而引起数据不数据库不能因为数据更新操作而引起数据不一致问题。一致问题。4)4)数据库中的数据不能产生插入异常和删除异数据库中的数据不能产生插入异常和删除异常问题。常问题。第七章第七章 关系数据库理论关系数据库理论7.1.1 7.1.1 关系模式规范化的必要性关系模式规范化的必要性87离散数学离散数学赵敏赵敏数学数学男男20陈兵陈兵9800383数据库数据库赵敏

2、赵敏数学数学男男20陈兵陈兵9800394数据结构数据结构赵敏赵敏数学数学男男20陈兵陈兵9800372高等数学高等数学赵敏赵敏数学数学男男20陈兵陈兵9800383电路电路王民王民计算机计算机女女21张平张平9800278数据库数据库王民王民计算机计算机女女21张平张平9800282数据结构数据结构王民王民计算机计算机女女21张平张平9800292程序设计程序设计王民王民计算机计算机女女21张平张平9800265电路电路王民王民计算机计算机男男20李华李华9800182数据库数据库王民王民计算机计算机男男20李华李华9800174数据结构数据结构王民王民计算机计算机男男20李华李华98001

3、74程序设计程序设计王民王民计算机计算机男男20李华李华98001成绩成绩课程名课程名系主任系主任系名系名性别性别年龄年龄姓名姓名学号学号赵敏赵敏赵敏赵敏赵敏赵敏赵敏赵敏王民王民王民王民王民王民王民王民王民王民王民王民王民王民王民王民1)数据冗余大数据冗余大经济管理经济管理何伟何伟2)插入异常插入异常张建同张建同4)更新异常更新异常女女21张平张平女女21张平张平女女21张平张平女女21张平张平男男20李华李华男男20李华李华男男20李华李华男男20李华李华男男20陈兵陈兵男男20陈兵陈兵男男20陈兵陈兵男男20陈兵陈兵3)删除异常删除异常评价:评价:以上学生成绩关系模式不是一个好的模式。以上

4、学生成绩关系模式不是一个好的模式。好的模式:好的模式:不会发生插入异常、删除异常、更新异常,不会发生插入异常、删除异常、更新异常,数据冗余应尽可能少。数据冗余应尽可能少。原因:原因:由存在于模式中的某些数据依赖引起由存在于模式中的某些数据依赖引起解决方法:解决方法:通过分解关系模式来消除其中不合适通过分解关系模式来消除其中不合适函数依赖函数依赖定义定义1 1:设设R(U)R(U)是一个属性集是一个属性集U U上的关系模式,上的关系模式,X X和和Y Y是是U U的子集。若对于的子集。若对于R(U)R(U)的任意一个可能的关系的任意一个可能的关系r r,r r中不可能存在两个元组在中不可能存在两

5、个元组在X X上的属性值相等,上的属性值相等,而在而在Y Y上的属性值不等,上的属性值不等,则称则称X X函数确定函数确定Y Y函数,或函数,或Y Y函数函数依赖于依赖于X X函数,记作函数,记作XYXY。2 2 函数依赖的概念函数依赖的概念说明:说明:1.1.函数依赖不是指关系模式函数依赖不是指关系模式R R的某个或某些的某个或某些关系实例满足的约束条件,而是指关系实例满足的约束条件,而是指R R的的所有关所有关系实例系实例均要满足的约束条件。均要满足的约束条件。2.2.函数依赖是函数依赖是语义范畴语义范畴的概念。只能根据数的概念。只能根据数据的语义来确定函数依赖。据的语义来确定函数依赖。例

6、如例如“姓名姓名年龄年龄”这个函数依赖只有在不这个函数依赖只有在不允许有同名人的条件下成立允许有同名人的条件下成立3.3.数据库设计者对语义的现实作出设计。数据库设计者对语义的现实作出设计。例例:教学教学UFU=U=学号,姓名,年龄,性别,系名,系主任,学号,姓名,年龄,性别,系名,系主任,课程,名成绩课程,名成绩 F=F=学号学号姓名,学号姓名,学号年龄,学号年龄,学号性别,性别,学号学号系名,系名系名,系名系主任,系主任,(学号,课程名学号,课程名)成绩成绩 平凡函数依赖与非平凡函数依赖平凡函数依赖与非平凡函数依赖在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,1)如果

7、)如果XY,但,但Y X,则称,则称XY是是 非平凡的函数依赖非平凡的函数依赖2)若)若XY,但,但Y X,则称则称XY是是 平凡的函数依赖平凡的函数依赖例:成绩例:成绩(学号学号,课程号课程号,成绩成绩)中,中,非平凡函数依赖:非平凡函数依赖:(学号学号,课程号课程号)成绩成绩 平凡函数依赖:平凡函数依赖:(学号学号,课程号课程号)学号学号 (学号学号,课程号课程号)课程号课程号对于任一关系模式,平凡函数依赖都是必然成立的,因此若不对于任一关系模式,平凡函数依赖都是必然成立的,因此若不特别声明,特别声明,我们总是讨论我们总是讨论非平凡函数依赖非平凡函数依赖。函数依赖的逻辑蕴含函数依赖的逻辑蕴

8、含从给定的函数依赖,判断其他函数依从给定的函数依赖,判断其他函数依赖是否存在。赖是否存在。定义定义:设设 F F 是模式是模式 R R 的函数依赖,的函数依赖,X X和和Y Y 是属性集是属性集U U的子集。如果从的子集。如果从F F中的函数中的函数依赖中能推出依赖中能推出XYXY,则称,则称XYXY是是F F的逻辑蕴的逻辑蕴含。含。设设U U为属性集,为属性集,F F是是U U上的函数依赖集,于上的函数依赖集,于是有关系模式是有关系模式RR。对关系模式。对关系模式RR来说,有以下推理规则:来说,有以下推理规则:自反律:若自反律:若 Y Y X X U U 则则 X XY Y 为为F F所蕴含

9、所蕴含。例如,例如,U U(学号(学号,姓名,性别,年龄)姓名,性别,年龄)X:X:(学号(学号,姓名姓名)Y:Y:(姓名(姓名)则:则:(学号(学号,姓名姓名)(姓名(姓名)传递律:若传递律:若 X XY Y 及及 Y YZ Z 为为F F所蕴含所蕴含,X XZ Z 为为 F F 所蕴含所蕴含。例如:例如:学号学号 班级号,班级号班级号,班级号 班级名班级名 则则 学号学号 班级名班级名引申的另外三条规则:引申的另外三条规则:合并律合并律:若:若X XY Y和和X XZ Z成立,则成立,则X XYZYZ成立。成立。伪传递律伪传递律:若:若X XY Y和和YWYWZ Z成立,则成立,则XWXW

10、 Z Z成立成立证明:证明:由增广律,因为由增广律,因为 X XY Y,故,故XWXWYWYW成立,成立,由于由于YWYWZ Z,由传递律,由传递律,XWXWZ Z必成立。必成立。分解律:若分解律:若 X XY Y 及及 Z Z Y Y ,则,则 X XZ Z 成立成立4 4)若若XY,并且,并且YX,则记为则记为XY。5 5)若若Y不函数依赖于不函数依赖于X,则记为则记为XY。3 3)若若XY,则,则X叫决定因素,叫决定因素,Y叫做依赖因素叫做依赖因素完全函数依赖与部分函数依赖完全函数依赖与部分函数依赖定义定义2:在关系模式在关系模式R(U)中,如果中,如果XY,并且对于,并且对于X的任的任

11、何一个真子集何一个真子集X,都有,都有 X Y,则称则称Y完全函数依赖于完全函数依赖于X,记作记作X Y。若若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y部分函数依赖部分函数依赖于于X,记作,记作X P Y。例例:成绩成绩(学号,学号,课程号课程号,成绩成绩)中,中,由于:学号由于:学号 成绩,课程号成绩,课程号 成绩成绩,因此:因此:(学号学号,课程号课程号)成绩成绩例例:选课选课(学号,课程号学号,课程号,姓名,课程名,姓名,课程名)中中由于:学号由于:学号 姓名,课程号姓名,课程号 姓名,姓名,因此:因此:(学号学号,课程号课程号)p 姓名姓名由于:学号由于:学号 课程

12、名,课程号课程名,课程号 课程名,课程名,因此:因此:(学号学号,课程号课程号)p 课程名课程名码的定义码的定义设设 K 为为 R 中的属性或属性组,若中的属性或属性组,若K U 则则 K 为为 R 的的 码。码。F传递函数依赖传递函数依赖定义定义3 3 在关系模式在关系模式R(U)R(U)中,如果中,如果XYXY,且,且Y Y X X,YX YX,YZ YZ,则称,则称Z Z对对X X传递函数依赖。(或传递函数依赖。(或称称Z Z传递函数依赖传递函数依赖于于X X)例例:在关系在关系(学号,系名,系主任学号,系名,系主任)中,有:中,有:学号学号 系名,系名系名,系名 系主任系主任系主任传递

13、函数依赖于学号系主任传递函数依赖于学号 学号学号 传递传递 系主任系主任注注:如果如果YXYX,即即XYXY,则,则Z Z直接依赖于直接依赖于X X。如果一个关系模式如果一个关系模式R的所有属性都是不可分的基的所有属性都是不可分的基本数据项,则本数据项,则R1NF。l1 NF是对关系模式的最起码的要求。不满足是对关系模式的最起码的要求。不满足1NF的数据库模式不能称为关系数据库。的数据库模式不能称为关系数据库。l但是满足但是满足1 NF的关系模式并不一定是一个好的关的关系模式并不一定是一个好的关系模式。系模式。3.1NF的定义的定义4.2NF4.2NF的定义的定义若关系模式若关系模式R1NFR

14、1NF,且每一个非主属性都完全函数依赖于,且每一个非主属性都完全函数依赖于码,则码,则 R 2NFR 2NF。U=学号,学号,姓名,课程号,课程名,成绩姓名,课程号,课程名,成绩F=学号学号 姓名,课程号姓名,课程号 课程名,课程名,(学号,课程号)(学号,课程号)成绩成绩)码码=(学号,课程号)(学号,课程号)非主属性非主属性=(姓名,课程名,成绩)(姓名,课程名,成绩)(学号,课程号)(学号,课程号)P 姓名姓名(学号,课程号)(学号,课程号)P 课程名课程名(学号,课程号)(学号,课程号)F 成绩成绩将不符合将不符合2NF的关系模式分解,消除部分函数依赖的关系模式分解,消除部分函数依赖学

15、生成绩(学生成绩(学号,课程号学号,课程号,姓名,课程名,成绩),姓名,课程名,成绩)学生成绩(学生成绩(学号,课程号学号,课程号,成绩),成绩)学生(学生(学号学号,姓名),姓名)课程(课程(课程号课程号,课程名),课程名)职工技能具有MN职工(职工(职工号职工号,职工名,性别,年龄),职工名,性别,年龄)技能技能(技能代号技能代号,技术名称,类别,技术名称,类别)具有(具有(职工号职工号,技能代号技能代号,职工名,性别,年龄,技职工名,性别,年龄,技术名称,类别)术名称,类别)(职工号(职工号,技能代号)技能代号)-职工名职工名P具有(具有(职工号,技能代号职工号,技能代号)职工(职工(职

16、工号职工号,职工名,性别,年龄),职工名,性别,年龄)技能(技能(技能代号技能代号,技术名称,类别),技术名称,类别)具有具有 2NF,将其分解),将其分解)7.3NF的定义的定义若关系模式若关系模式 R 1 NFR 1 NF,且每个非主属性都不传递依赖于码,且每个非主属性都不传递依赖于码,则则 R 3 NFR 3 NF说明:可证明属于说明:可证明属于3NF的关系模式必然属于的关系模式必然属于2NFU=学号,姓名,院系名,系主任学号,姓名,院系名,系主任F=学号学号 姓名,学号姓名,学号 院系名,院系名院系名,院系名系主任系主任码码=(学号)(学号)非主属性非主属性=(姓名,院系名,系主任)(

17、姓名,院系名,系主任)学号学号 传递传递 系主任系主任所以该关系模式不属于所以该关系模式不属于 3NF将不符合将不符合3NF的关系模式分解,消除传递函数依赖的关系模式分解,消除传递函数依赖学生(学生(学号学号,姓名,院系名,系主任),姓名,院系名,系主任)分解:分解:学生(学生(学号学号,姓名,院系名),姓名,院系名)院系(院系(院系名院系名,系主任),系主任)职工聘用1N部门部门(部门(部门编号部门编号,部门名称,负责人),部门名称,负责人)职工(职工(职工号职工号,职工名,性别,年龄),职工名,性别,年龄)聘用(职工号聘用(职工号,职工名,性别,年龄,部门编号,部门名称,负责人),职工名,

18、性别,年龄,部门编号,部门名称,负责人)U=U=职工号职工号,职工名,性别,年龄,部门编号,部门名称,负责人,职工名,性别,年龄,部门编号,部门名称,负责人 F=F=职工号职工号职工名职工名,职工号职工号性别性别,职工号职工号年龄年龄,职工号职工号部门编号部门编号,部门编号部门编号部门名称部门名称,部门编号部门编号负责人负责人 主码主码=(职工号)职工号)非主属性(非主属性(职工名,性别,年龄,部门编号,部门名称,负责人)职工名,性别,年龄,部门编号,部门名称,负责人)职工号职工号 传递传递 部门名称,部门名称,职工号职工号 传递传递负责人负责人聘用关系模式不属于聘用关系模式不属于3NF聘用(

19、聘用(职工号职工号,职工名,性别,年龄,部门编号,部门名称,负责人),职工名,性别,年龄,部门编号,部门名称,负责人)分解分解聘用(聘用(职工号职工号,职工名,性别,年龄,部门编号),职工名,性别,年龄,部门编号)部门(部门(部门编号部门编号,部门名称,负责人),部门名称,负责人)分解后的部门关系与部门实体的关系完全相同分解后的部门关系与部门实体的关系完全相同部门(部门(部门编号部门编号,部门名称,负责人),部门名称,负责人)分解后的聘用关系与职工关系主码相同,可以合并,即分解后的聘用关系与职工关系主码相同,可以合并,即职工(职工(职工号职工号,职工名,性别,年龄,部门编号),职工名,性别,年

20、龄,部门编号)6.BC6.BC范式(范式(BCNFBCNF)设关系模式设关系模式R1NF,如果对于,如果对于R的每个函数依赖的每个函数依赖XY,若,若Y不属于不属于X,则,则X必含有码,那么必含有码,那么RBCNF。若若RBCNF n每一个决定属性集(因素)都包含码每一个决定属性集(因素)都包含码nR中的所有属性(主,非主属性)都完全函数依赖于码中的所有属性(主,非主属性)都完全函数依赖于码nR3NFn若若R3NF 则则 R不一定不一定BCNF例:在关系模式例:在关系模式 学生学生-课程课程-教师(学生,课程,教师教师(学生,课程,教师)中中:每一教师只教一门课。每门课由若干教师教,某一学生每

21、一教师只教一门课。每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称某个教师的课就确定了所选课的名称:学生教师课程S1张静数据库S1刘天民计算机网络S2张静数据库S2孙和平计算机网络F=(学生,(学生,课程课程)教师教师(学生,(学生,教师教师)课程课程教师教师课程课程码:码:(学生,课程)(学生,课程)(学生,教师)(学生,教师)主属性:主属性:学生,教师,课程学生,教师,课程教师教师课程,教师不是码:课程,教师不是码:学生学生-教师教师-课程课程 BCNF分解分解学生学生-教师教师(学

22、生,教师学生,教师)教师教师-课程(课程(教师教师,课程),课程)每一教师只教一门课每一教师只教一门课7 关系分解的原则关系分解的原则对关系模式分解的目的使模式更规范化,在分解时应注意的问题:对关系模式分解的目的使模式更规范化,在分解时应注意的问题:举例:举例:学生学生-课程课程-教师(学生,课程,教师教师(学生,课程,教师)分解:分解:学生学生-课程课程(学生,课程学生,课程)学生学生-教师教师(教师教师,课程,课程)计算机网络S2数据库S2计算机网络S1数据库S1课程学生孙和平刘天民张静教师计算机网络计算机网络数据库课程学生教师课程S1张静数据库S1刘天民计算机网络S2张静数据库S2孙和平

23、计算机网络学生学生课程课程教师教师课程课程S1数据库数据库张静张静数据库数据库S1数据库数据库刘天民刘天民计算机网络计算机网络S1数据库数据库孙和平孙和平计算机网络计算机网络S1计算机网络计算机网络张静张静数据库数据库S1计算机网络计算机网络刘天民刘天民计算机网络计算机网络S1计算机网络计算机网络孙和平孙和平计算机网络计算机网络S2数据库数据库张静张静数据库数据库S2数据库数据库刘天民刘天民计算机网络计算机网络S2数据库数据库孙和平孙和平计算机网络计算机网络S2计算机网络计算机网络张静张静数据库数据库S2计算机网络计算机网络刘天民刘天民计算机网络计算机网络S2计算机网络计算机网络孙和平孙和平计

24、算机网络计算机网络学生学生课程课程教师教师S1数据库数据库张静张静S1计算机网络计算机网络刘天民刘天民S2数据库数据库张静张静S2计算机网络计算机网络孙和平孙和平学生学生课程课程教师教师S1数据库数据库张静张静S1计算机网络计算机网络刘天民刘天民S1计算机网络计算机网络孙和平孙和平S2数据库数据库张静张静S2计算机网络计算机网络刘天民刘天民S2计算机网络计算机网络孙和平孙和平学生学生-课程课程 教师教师-课程课程计算机网络S2数据库S2计算机网络S1数据库S1课程学生孙和平刘天民张静教师计算机网络计算机网络数据库课程学生学生教师教师教师教师课程课程S1张静张静张静张静数据库数据库S1张静张静刘

25、天民刘天民计算机网络计算机网络S1张静张静孙和平孙和平计算机网络计算机网络S1刘天民刘天民张静张静数据库数据库S1刘天民刘天民刘天民刘天民计算机网络计算机网络S1刘天民刘天民孙和平孙和平计算机网络计算机网络S2张静张静张静张静数据库数据库S2张静张静刘天民刘天民计算机网络计算机网络S2张静张静孙和平孙和平计算机网络计算机网络S2孙和平孙和平张静张静数据库数据库S2孙和平孙和平刘天民刘天民计算机网络计算机网络S2孙和平孙和平孙和平孙和平计算机网络计算机网络学生学生课程课程教师教师S1数据库数据库张静张静S1计算机网络计算机网络刘天民刘天民S2数据库数据库张静张静S2计算机网络计算机网络孙和平孙和

26、平学生学生课程课程教师教师S1数据库数据库张静张静S1计算机网络计算机网络刘天民刘天民S2数据库数据库张静张静S2计算机网络计算机网络孙和平孙和平学生学生-教师教师 教师教师-课程课程孙和平张静刘天民张静教师S2S2S1S1学生孙和平刘天民张静教师计算机网络计算机网络数据库课程关系分解不是随意的,主要涉及关系分解不是随意的,主要涉及2个原则个原则1.数据等价原则数据等价原则当对关系模式当对关系模式R进行分解时,进行分解时,R的元组将分别在相应的元组将分别在相应属性集进行投影而产生的新关系。属性集进行投影而产生的新关系。如果对新关系进行自然连接得到的元组的集合与原关如果对新关系进行自然连接得到的

27、元组的集合与原关系完全一致,则称为无损连接。反之如自然连接后产生系完全一致,则称为无损连接。反之如自然连接后产生伪伪元组,失去了信息的真实性。元组,失去了信息的真实性。无损连接反映数据等价原则。无损连接反映数据等价原则。2.保持依赖原则保持依赖原则当对关系模式当对关系模式R进行分解时,进行分解时,R的函数依赖集也将按的函数依赖集也将按相应的模式进行分解。如果分解后的总的函数依赖集与原相应的模式进行分解。如果分解后的总的函数依赖集与原函数依赖集保持一致,则称为保持依赖。函数依赖集保持一致,则称为保持依赖。分解分解1学生学生-教师教师(学生,教师学生,教师)教师教师-课程(课程(教师教师,课程),

28、课程)分解分解2学生学生-课程(课程(学生,课程学生,课程)学生学生-教师(教师(教师教师,课程,课程)(学生,学生,课程课程)教师教师?几点说明:几点说明:数据等价和依赖等价是模式分解的两个基本原则数据等价和依赖等价是模式分解的两个基本原则2NF2NF,3NF3NF能实现无损连接和保持依赖能实现无损连接和保持依赖BCNFBCNF能保证无损连接,不能保证绝对的依赖能保证无损连接,不能保证绝对的依赖除考虑数据等价和依赖等价之外,还要考虑效率,模除考虑数据等价和依赖等价之外,还要考虑效率,模式分解的太小,要做大量连接运算,将多个模式连接在式分解的太小,要做大量连接运算,将多个模式连接在一起查到相关

29、数据,花费大量时间。一起查到相关数据,花费大量时间。保留适当冗余,达到以空间换时间的目的保留适当冗余,达到以空间换时间的目的实际应用中,对模式分解的要求并不一定达到实际应用中,对模式分解的要求并不一定达到BCNFBCNF或或更高的范式,通常情况下达到更高的范式,通常情况下达到3NF3NF就足够了。就足够了。小结小结关系数据模式的规范化理论关系数据模式的规范化理论关系模式规范化的必要性关系模式规范化的必要性函数依赖及其关系的范式函数依赖及其关系的范式关系分解的原则关系分解的原则作业作业:1,2附加题:问下列关系模式最高属于第几范式,并解释原因。附加题:问下列关系模式最高属于第几范式,并解释原因。1)R(A,B,C,D),),F=AB C,B D2)R(A,B,C,D,E),),F=AB C,AB E,E A B,C D3)R(A,B,C,D),),F=B D,D B,AB C4)R(A,B,C),),F=A B,B A,A C5)R(A,B,C),),F=A B,B A,C A6)R(A,B,C,D),),F=A C,D B1)R(A,B,C,D),),F=AB C,B D1 码码因为:因为:AB C,B D AB A,B,C,D所以所以:码为:码为AB2 主属性主属性 A,B3 范式范式因为:因为:AB P D(B D)所以:所以:R(A,B,C,D)1NF1NF

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

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


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

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


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