数据库课件第6章关系数据理论.ppt
《数据库课件第6章关系数据理论.ppt》由会员分享,可在线阅读,更多相关《数据库课件第6章关系数据理论.ppt(95页珍藏版)》请在三一办公上搜索。
1、4.关系模式的规范化,2.范式的定义和分类,3.关系模式所属范式类型的判别,本次课内容,1.关系模式中的函数依赖,例:学校数据库的语义:一个系有若干学生,一个学生只属于一个系,学号唯一,姓名可能重名;一个系只有一名系主任,系名不重复,系主任可能重名;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生所学的每门课程都有一个成绩,课程号唯一,课程名不排除相同情况。,根据语义,有如下函数依赖:,学生(学号,姓名,系名,系主任,课程号,课程名,分数),假设某个人根据上述语义设计了如下关系模式:,学号姓名,学号系名,系名系主任,(学号,课程号)分数,课程号课程名,学生(学号,姓名,系名,系主任,
2、课程号,课程名,分数),关系模式R(U),U 是R的属性集合,X、Y、Z是U的子集,X是X的任意真子集。1.完全函数依赖:X Y,X Y,则 X Y。,关系模式R(U),U 是R的属性集合,X、Y、Z是U的子集,X是X的任意真子集。2.部分函数依赖:X Y,存在一个 X Y,X P Y。,关系模式R(U),U 是R的属性集合,X、Y、Z是U的子集,X是X的任意真子集。3.传递函数依赖:XY,YZ,且Y X,Y X,则XZ,称Z传递函数依赖于X。,1.范式,范式(Normal Form,NF):关系模式的规范形式。是符合某一种级别的关系模式的集合。,规范化目的:逐渐消除异常,减少冗余。,规范化方
3、法:一般采用分解的办法,将低级别范式向高级别范式转化,使关系的语义单纯化。,规范化:将一个给定的关系模式转化为某种级别范式的过程称为关系模式的规范化过程,简称规范化。,2.规范化,定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则称该关系模式为第一范式关系模式,记作R1NF。,(1)第一范式(1NF),以函数依赖为基础的范式种类:第一范式、第二范式、第三范式和BCNF范式。,3.以函数依赖为基础的范式,非第一范式的关系转换为1NF关系:将复合属性变为简单属性即可。,学 生,学生(学号,姓名,系名,系主任,课程号,课程名,分数),a.插入情况:若要插入一个没选课的学生,能插入吗?,X,
4、结论:存在插入异常,b.删除情况:,如某学生只选了一门课,如果要删除学生的该门选课,则会出现什么后果?,结论:存在删除异常,c.冗余情况:,结论:冗余度大,d.更新情况:如果某学生要转系,要修改那些数据?,可见:满足1NF是不够的,它可能出现插入、删除和更新异常,冗余度也大。原因:因为可能存在“部分函数依赖”与“传递函数依赖”。,2NF实质:不存在非主属性“部分函数依赖”于码的情况。,定义 若关系模式R1NF,并且每一个非主属性都完全函数依赖于R的码,则称该关系模式为第二范式关系模式则记作R2NF,(2)第二范式(2NF),示例:,学生(学号,姓名,系,系主任,课程号,课程名,分数),1NF关
5、系向2NF的转换:消除其中的部分函数依赖,一般是将一个关系模式分解成多个2NF的关系模式。即:将部分函数依赖于码的非主属性及其决定属性移出,另成一关系,使其满足2NF。,(1)学生信息(学号,姓名,系名,系主任),(2)修课(学号,课程号,分数),(3)课程(课程号,课程名),上述“学生”关系模式分解成如下三个关系模式:,异常情况分析:,学生,修课,课程,b.删除情况:如某学生只选了一门课,如果要删除学生的该门选课,则会出现什么后果?,a.插入情况:若要插入一个没选课的学生,能插入吗?,c.冗余情况:,d.更新情况:如果某学生要转系,要修改那些数据?,能,学生、系的信息仍可保留,减少了,但仍存
6、在,只需修改一次但如果要更换系主任,则要修改多条记录,2NF判断:语义:一个国家可参加多项比赛,一个比赛项目有多个国家参加,关系模式如下:比赛(国家名称,参赛项目名称,项目得分,总分),2NF关系可能的异常:仍可能存在插入异常、删除异常、更新异常和冗余。因为,还可能存在非主属性对码的“传递函数依赖”。,3NF的得来:3NF是从1NF消除非主属性对码的部分函数依赖和从2NF消除非主属性对码的传递函数依赖而得到的关系模式。,定义:若关系模式R是2NF,而且它的任何一个“非主属性”都不传递函数依赖于R的码,则称该关系模式为第三范式关系模式,记作3NF。,(3)第三范式(3NF),学生(学号,姓名,系
7、名,系主任),示例:,(1)学生信息(学号,姓名,系名,系主任),(2)修课(学号,课程号,分数),(3)课程(课程号,课程名),上述三个关系模式中,存在非主属性对码的传递函数依赖的关系模式是:,2NF关系向3NF的转换:消除传递函数依赖,将2NF关系分解成多个3NF关系模式。,(1)学号(学号,姓名,系名),(2)系(系名,系主任),例题分析:1、工人(工号,姓名,工种,定额,车间,车间主任)若有如下函数依赖:,工号姓名,工号工种,工种定额,工号车间,车间车间主任,2.比赛(球队,比赛场次,得分)函数依赖情况:3.假设一个帐号一天只能取一次款,那么关系模式:取款(日期,帐号,取款金额,取款身
8、份证号),其中的函数依赖有:,3NF异常示例:每一教师只教一门课,每门课有若干教师,某一学生选定了某门课,就对应一个固定的教师。,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,STC(学号,教师号,课程号),STC,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,STC,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,a.插入异常分析:插入尚未选课的学生时,能否插入?或 插入没有学生选课的课程时,能否插入?都不能,STC,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,b.删除异常分析:如选修某课程的学生全毕业,删除学生则会删除课程的信
9、息。,STC,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,c.冗余:每个选修某课程的学生均带有教师的信息,故冗余。,STC,(学号,课程号)教师号,(学号,教师号)课程号,教师号课程号,d.更新异常:如教师所教的课程变更了,则修改某门课程对应的教师信息,则要修改多行。,可见:3NF关系可能的异常仍可能存在插入异常、删除异常、更新异常和冗余。因为,还可能存在“主属性”“部分函数依赖”于码。,定义:若关系模式R是1NF,如果对于R的每个函数依赖XY,X必为候选码,则R为BCNF范式(Boyce-Codd Normal Form,BCNF)。,每个BCNF范式具有的三个性质:a.所
10、有非主属性都完全函数依赖于每个候选码;b.所有主属性都完全函数依赖于每个不包含它的候选 码;c.没有任何属性完全函数依赖于非码的任何一组属性。,提出:由Boyce和Codd提出,故称BCNF范式。亦被认为是增强的第三范式,有时也归入第三范式。,(4)BCNF范式,说明:,由于BCNF的每一个非平凡函数依赖的决定因素必为候选码,故不会出现3NF中决定因素可能不是候选码的情况。3NF不一定是BCNF,而BCNF一定是3NF。不过,属于3NF而非BCNF的关系模式不多,即使有,对数据库设计者来说,所引起的更新异常也不太重要。,3NF和BCNF常常都是数据库设计者所追求的关系范式。有些文献有时统称它们
11、为第三范式,只要不引起误解。如果一个关系数据库的所有关系模式都属于BCNF,那么,在函数依赖范畴内,它已达到了最高的规范化程度(但不是最完美的范式),在一定程度上已消除了插入和删除的异常。,3NF关系向BCNF的转换:消除那些决定因素不是候选码的函数依赖,即可将3NF关系分解成多个BCNF关系模式。,ST(学号,教师号),示例:,TC(教师号,课程号),关系模式STC(学号,教师号,课程号)可分解为下列两个关系模式:,范式级别与异常问题之关系:一般,级别越低,出现异 地常的程度越高,范式不一定越高就越好,设计中一般达到3NF或BCNF即可。,范式之间存在的关系:,关系模式中的范式:1NF、2N
12、F、3NF、BCNF、4NF和5NF。,6.2.7 多值依赖与第四范式(4NF),例:学校中某一门课程由多个教师讲授,他们使用相同的一套参考书。每个教师可讲授多门课,每种参考书可以供多门课使用。关系模式Teaching(课程,教师,参考书),表6.3,用二维表表示Teaching,TeachingBCNF:Teaching具有唯一候选码(课程,教师,参考书),即全码Teaching模式中存在的问题(1)数据冗余度大:有多少名任课教师,参考书就要存储多少次,Teaching,(2)插入操作复杂:当某一课程增加一名任课教师时,该课程有多少本参照书,就必须插入多少个元组例如物理课增加一名教师刘关,需
13、要插入三个元组:(物理,刘关,普通物理学)(物理,刘关,光学原理)(物理,刘关,物理习题集),Teaching,t,s,v,w,(3)删除操作复杂:某一门课要去掉一本参考书,该课程有多少名教师,就必须删除多少个元组(4)修改操作复杂:某一门课要修改一本参考书,该课程有多少名教师,就必须修改多少个元组 产生原因存在多值依赖,一、多值依赖,定义5.10 设R(U)是一个属性集U上的一个关系模式,X、Y和Z是U的子集,并且ZUXY,多值依赖 XY成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关 例 Teaching(课程,教师,参考书)对于课程(
14、X)和参考书(Z)的每一个值,教师(Y)有一组值与之对应,这组值与参考书(Z)无关,只与课程(X)有关,在R(U)的任一关系r中,如果存在元组t,s 使得tX=sX,那么就必然存在元组 w,v r,(w,v可以与s,t相同),使得wX=vX=tX,而wY=tY,wZ=sZ,vY=sY,vZ=tZ(即交换s,t元组的Y值所得的两个新元组必在r中),则Y多值依赖于X,记为XY。这里,X,Y是U的子集,Z=U-X-Y。t x y1 z2 s x y2 z1 w x y1 z1 v x y2 z2,平凡多值依赖和非平凡的多值依赖若XY,而Z,则称 XY为平凡的多值依赖否则称XY为非平凡的多值依赖,多值
15、依赖的性质,(1)多值依赖具有对称性 若XY,则XZ,其中ZUXY 多值依赖的对称性可以用完全二分图直观地表示出来。(2)多值依赖具有传递性 若XY,YZ,则XZ-Y,多值依赖的对称性,多值依赖的对称性,(3)函数依赖是多值依赖的特殊情况。若XY,则XY。(4)若XY,XZ,则XY Z(或表示为YZ)。(5)若XY,XZ,则XYZ。(6)若XY,XZ,则XY-Z,XZ-Y。,多值依赖与函数依赖的区别,(1)有效性多值依赖的有效性与属性集的范围有关若XY在U上成立,则在W(X Y W U)上一定成立;反之则不然,即XY在W(W U)上成立,在U上并不一定成立多值依赖的定义中不仅涉及属性组 X和
16、Y,而且涉及U中其余属性Z。一般地,在R(U)上若有XY在W(W U)上成立,则称XY为R(U)的嵌入型多值依赖,只要在R(U)的任何一个关系r中,元组在X和Y上的值满足函数依赖定义,则函数依赖XY在任何属性集W(X Y W U)上成立。,(2)若函数依赖XY在R(U)上成立,则对于任何Y Y均有XY 成立多值依赖XY若在R(U)上成立,不能断言对于任何Y Y有XY 成立,二、第四范式(4NF),定义5.10 关系模式R1NF,如果对于R的每个非平凡多值依赖XY(Y X),X都含有候选码,则R4NF。(XY)如果R 4NF,则R BCNF 不允许有非平凡且非函数依赖的多值依赖 允许的是函数依赖
17、(是非平凡多值依赖),例:关系模式:Teaching(课程,教师,参考书)4NF 存在非平凡的多值依赖课程教师,且课程不是候选码用投影分解法把Teaching分解为如下两个关系模式:CT(课程,教师)4NF CB(课程,参考书)4NF 课程教师,课程参考书 是平凡多值依赖,三、关系模式的规范化 1.规范化步骤,规范化的实质:概念的单一化。即:一个关系只描述一个概念、一个实体或实体间的一种联系,若多于一个概念就应将其它概念分离出去。,规范化基本步骤:,问题提出:在关系模式的规范化处理过程中,不仅要知道一个给定的函数依赖集合,还要知道由给定的函数依赖集合所蕴涵(或推导出)的所有函数依赖的集合。为此
18、,需要一个有效而完备的公理系统,Armstrong公理系统即是这样的一个系统。,2.Armstrong公理系统,蕴含定义:设F是R上的函数依赖集合,XY是R的一个函数依赖。如果R的任何一个关系实例r,XY都成立,则称F逻辑蕴含(Imply)XY。,Armstrong公理:为从已知的函数依赖推导出其他的函数依赖,Armstrong提出了一套推理规则,称为Armstrong公理(Armstrongs Axioms)。,(2)增广律(Augmentation):若XY,ZU,则XZYZ。,(1)自反律(Reflexivity):若YXU,则XY。,(3)传递律(Transitivity):若XY和Y
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课件 关系 数据 理论
链接地址:https://www.31ppt.com/p-6578698.html