数据库原理与应用关系规范化理论.pptx





《数据库原理与应用关系规范化理论.pptx》由会员分享,可在线阅读,更多相关《数据库原理与应用关系规范化理论.pptx(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、14.1 4.1 问题的提出问题的提出关系模式 R(UR(U,D D,domdom,I I,F)F)数据依赖:关系中属性间互相依存、互相制约的关系。函数依赖函数依赖、多值依赖、连接依赖、分层依赖和相互依赖第1页/共93页2例:例:U=学号,系部,系主任,课程名称,成绩 F=学号系部,系部 系主任,(学号,课程名称)成绩系部系部系主任系主任成绩成绩 学号学号课程名称课程名称第2页/共93页3缺点1、冗余太大2、操作异常 1)插入异常 2)删除异常 3)修改异常 学号系部 系主任 课程 名称成绩02101CSXAAA02101CSXBBB02101CSXCCA02102MAMAAB02102MAM
2、DDA02103MAMEEC02104ISJEEB02105ISJBBA第3页/共93页4一、一、函数依赖:函数依赖:属性或属性组之间可能存在的依赖性。属性或属性组之间可能存在的依赖性。1、定义 定义定义4.14.1:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,当且仅当r中任意一个给定的X的值,r中存在唯一的Y值与之对应。也就是说,如果X相等,Y也相等,则称Y函数依赖与X,或者X函数确定Y,记作XY。第4页/共93页5定义4.3:R(U)的属性子集X,Y之间的函数依赖用X Y表示,它在构成关系R的任意元组r上指定了一个约束。这个约束是:如果对于r中
3、的任何两个元组t1和t2有t1Xt2X,则必须也有t1Yt2Y。定义定义4.2:设设R(U)是属性集是属性集U上的关系模式,上的关系模式,X,Y是是U的子集。若对于的子集。若对于R(U)的任意一个可能的关系的任意一个可能的关系r,r中不可能存在两个元组在中不可能存在两个元组在X上的属性值相等,而在上的属性值相等,而在Y上的属性值不等,则称上的属性值不等,则称X函数确定函数确定Y或或Y函数依赖于函数依赖于X,记作,记作XY。第5页/共93页6例:例:U=学号,系部,系主任,课程名称,成绩 F=学号系部,系部 系主任,(学号,课程名称)成绩注意:函数依赖不是指关系模式R的某个或某些关系满足的条件,
4、而是指R的一切关系均要满足的约束条件第6页/共93页7由定义可以导出下列基本概念:1.1.决定因素:决定因素:若X Y,则X叫做决定因素 2.2.互相依赖:互相依赖:若X Y,Y X,则记作X Y。3.3.若若Y Y不函数依赖于不函数依赖于X X,则记作X Y。第7页/共93页8 定义4.4:平凡(非平凡)函数依赖 在R(U)中,一个函数依赖如果满足Y X,则称此函数依赖是非平凡函数依赖,否则称为平凡函数依赖。第8页/共93页9 定义4.5:完全函数依赖 在R(U)中,如果X Y,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖。记作:FXY 定义4.6:部分函数依赖 在R(U
5、)中,如果X Y,存在真子集X,有X Y成立,则称Y对X部分函数依赖。记作:PXY第9页/共93页10定义定义4.74.7:传递函数依赖传递函数依赖 在在R(U)中,如果中,如果X Y,(Y X),Y X,Y Z,则称,则称Z对对X传递函数依赖。传递函数依赖。第10页/共93页11系部系部系主任系主任成绩成绩 学号学号课程名称课程名称第11页/共93页12定义4.8:设K为R(U,F)中的属性或属性组,若 ,则K为R的候选码。FKU主码:主码:若候选码多于一个,则选定其中的一个为主码。主属性:主属性:包含在任何一个侯选码中的属性。非主属性:非主属性:不包含在任何码中的属性。全码:全码:整个属性
6、组是码。定义定义6.6:6.6:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码外码。主码与外码提供了一个表示关系间联系的手段。主码与外码提供了一个表示关系间联系的手段。第12页/共93页13三、第一范三、第一范式式(1NF)(1NF)定义4.9:满足关系的每一个分量是不可分的数据项这一条件的关系模式就属于第一范式(1NF)。缺点:插入异常、删除异常、冗余太大、修改复杂 学号系部 系主任 课程 名称成绩99101CSXAAA99101CSXBBB99101CSXCCA99102MAMAAB99102MAMDDA99103MAMEEC99104ISJEEB9910
7、5ISJBBA第13页/共93页14第二范式第二范式(2NF)(2NF)定义4.10:若R1NF,且每一个非主属性完全函数依赖于码,则R2NF。系部系部系主任系主任成绩成绩 学号学号课程名称课程名称第14页/共93页15成绩成绩系部系部系主任系主任 学号,系部,系主任 学号学号 学号学号课程名称课程名称 学号,课程名称,成绩第15页/共93页16第三范式第三范式(3NF)(3NF)定义4.11:关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性组Z(Z Y)使得XY,(Y X)Y Z成立,则称R(U,F)3NF。即:若R 3NF,且每一个非主属性既不部分依赖于码也不传递依赖于码。系部
8、系部系主任系主任 学号学号若若R 2NF,且每一个非主属性,且每一个非主属性不传递依赖于码,则不传递依赖于码,则R 3NF。第16页/共93页17例:项目(编号,项目名称,负责人,职务,成员,任务情况)(假设:负责人无重名情况)编号编号成员成员负责人负责人项目名称项目名称任务情况任务情况职务职务第17页/共93页18任务(编号,成员,任务情况)项目(编号,项目名称,负责人,职务)编号编号成员成员任务情况任务情况编号编号负责人负责人项目名称项目名称职务职务任务任务项目项目第18页/共93页19编号编号成成 员员任务情况任务情况任务任务编号编号负责人负责人项目名称项目名称项目项目负责人负责人职务职
9、务负责人职务第19页/共93页20例:分析下列关系属于第几范式 学生学习情况:(学号,姓名,班级,年龄,宿舍,系部,系主任,课程号,课程名,先修课程,成绩)第20页/共93页21学号课程号学号课程号姓名成绩先修课程课程名系主任系部宿舍年龄班级分析函数依赖关系:判断:属于1NF第21页/共93页22成绩学号+课程号姓名系部宿舍年龄班级学号系主任系部先修课程课程名课程号第22页/共93页23设有关系模式设有关系模式R(A,B,C,D),其),其数据依赖集:数据依赖集:F(A,B)C,CD,则关系模式,则关系模式R的规范化程度最的规范化程度最高达到(高达到()。)。第23页/共93页24BCNF(扩
10、充的扩充的3NF)定义:定义:关系模式R(U,F)1NF。若 XY且Y X时X必含有码,则R(U,F)BCNF。即:关系模式R(U,F)中,若每一个决定因素都包含码,则R(U,F)BCNF。第24页/共93页25所有非主属性对每一个码都是完全所有非主属性对每一个码都是完全函数依赖。函数依赖。所有主属性对每一个不包含它的码所有主属性对每一个不包含它的码也是完全函数依赖。也是完全函数依赖。没有任何属性完全函数依赖于非码没有任何属性完全函数依赖于非码的任何一组属性。的任何一组属性。一个满足一个满足BCNF BCNF 的关系模式有的关系模式有:第25页/共93页26例:关系模式SJP(S,J,P)S:
11、学生 学生选修课程有一定的名次 J:课程 每门课程中每一名次只有一个学生 P:名次 (名次没有并列)函数依赖:(S,J)P (J,P)S 分析得知:SJP 3NF SJP BCNF第26页/共93页27例:关系模式STJ(S,T,J)S:学生 某一学生选定某门课,就对应一个固定教师 T:教师 每个教师只教一门课 J:课程 每门课有若干教师 函数依赖:(S,J)T T J (S,T)J)分析得知:STJ 3NF 但是:STJ BCNF 因为:STJ可以分解为:ST(S,T)TJ(T,J)第27页/共93页28消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依
12、赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖1NF1NF2NF2NF3NF3NFBCNFBCNF消除消除决定决定因素因素非码非码的非的非平凡平凡函数函数依赖依赖第28页/共93页29指出下列关系模式属于第几范式,并说明理由指出下列关系模式属于第几范式,并说明理由。(1)R(X,Y,Z)FXY Z(2)R(X,Y,Z)FY Z,XZ Y(3)R(X,Y,Z)FY Z,Y X,X YZ第29页/共93页30假设某旅馆业务规定,每个账单对应一个顾客,账单的发票号是惟一的,账单中包含一个顾客姓名、到达日期和顾客每日的消费明细,账单的格式如图所示:
13、试回答下列问题:(1)找出R的候选键。(2)判断R最高可达到第几范式,为什么?第30页/共93页31配件管理关系模式 WPE(WNO,PNO,ENO,QNT)分别表仓库号,配件号,职工号,数量。有以下条件 a.一个仓库有多个职工。b.一个职工仅在一个仓库工作。c.每个仓库里一种型号的配件由专人负责,但一个人可以管理几种配件。d.同一种型号的配件可以分放在几个仓库中,一个仓库可以存放多种型号的配件。请问:关系模式WPE最高可达几范式?1 ENO WNO2 WNO,PNO ENO3 WNO,PNO QNT候选码1(WNO,PNO)为候选码2 因为ENO,PNO WNO 所以(ENO,PNO)为候选
14、码第31页/共93页32定义定义4.15 逻辑蕴含逻辑蕴含定义:对于R(U,F),如果XY不在F中,但是对于其任何一个关系r,XY都成立,则称F逻辑蕴含XY。或者说:或者说:XYXY可以由可以由F F导出导出 例:关系模式R(U,F)其中U(A,B,C,D,E,F,G)F(AB,CD,ABE,FG)问:F是否逻辑蕴含AE第32页/共93页33ArmstrongArmstrong公理系统公理系统 对于关系模式R(U,F),有公理1:自反律自反律(Reflexivity)(Reflexivity)若Y X U,则XY为F所蕴含。公理2:增广律增广律(Augmenttation)(Augmentta
15、tion)若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。公理3:传递律传递律(Transitivity)(Transitivity)若XY,YZ为F所蕴含,则XZ为F所蕴含。自反律、增广律、传递律是最基本的Armstrong公理。第33页/共93页34公理4:合并规则 由XY,XZ,有XYZ。公理5:伪传递规则 由XY,WYZ,有XWZ公理6:分解规则 由XY及 Z Y,有XZ。由自反律、增广律、传递律可以导出下面三条推理规则。第34页/共93页35例:关系模式R(U,F)其中U(A,B,C,D,E,F,G)F(AB,CD,ABE,FG)问:F是否逻辑蕴含AE解:解:AB (已知)AAB(增
16、广率)ABE (已知)AE (传递率)第35页/共93页364.3.2函数依赖集闭包和属性集闭函数依赖集闭包和属性集闭包包定义 4.16 F的闭包定义:在关系模式R(U,F)中为F及F所逻辑蕴含的函数依赖的全体叫做F的闭包。记为F+。F+=X Y|F及能由F根据Armstrong公理导出第36页/共93页37X关于函数依赖集F的闭包定义:设F为属性集U上的一组函数依赖,X U,XF+=A|XA能由F根据Armstrong公理导出,XF+称为属性集X关于函数依赖集F的闭包。定义定义 4.174.17 第37页/共93页38【例】设关系模式R(A、B、C)的函数依赖集为F=A B,B C,分别求A
17、、B、C的闭包。若X=A,AB,BC(已知)AC (传递律)AA (自反律)XF+=A,B,C若X=B,BB BC XF+=B,C若X=C,CC XF+=C第38页/共93页39设F为属性集U上的一组函数依赖关系,X,Y U,X Y能 由 F根 据Armstrong公理导出的充分必要条件是Y XF。定理定理 4.2:第39页/共93页40求XF+的算法算法:输入:X,F 输出:XF+(1)令X(0)=X,i=0(2)求B,B=A|(V)(W)(VWFVX(i)AW)(3)X(i+1)=BX(i)(4)判断X(i+1)=X(i)吗?(5)若相等或X(i)=U则X(i)就是XF+,算法终止。(6)
18、若否,则i=i+1,返回第(2)步。算法算法 4.1:第40页/共93页41例1:已知关系模式R(U,F),其中U=A,B,C,D,E;F=ABC,BD,CE,ECB,ACB求(AB)F+。解:1:X(0)=AB 2:计算X(1)=X(0)C D=ABCD 3:求X(2)=X(1)E B=ABCDE 4:由于X(2)已经等于全部属性集合所以 (AB)F+=ABCDE找出左部为A,B或AB的函数依赖第41页/共93页42例2:已知关系模式R(U,F),其中U=A,B,C,D,E,F,G,H;F=AD,ABE,BHE,CDH,EC令X=AE,求X+。解:1:X(0)=AE 2:X(1)=X(0)D
19、 C=AECD 3:X(2)=X(1)H=ACDEH 4:X(3)=ACDEH不变,即X(3)=X(2)所以 X+=(AE)+=ACDEH第42页/共93页43定理:定理:Armstrong公理系统是有效的、完备的。有效性:有效性:指由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+。完备性:完备性:指F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来。第43页/共93页444.3.3 4.3.3 函数依赖集的等价和函数依赖集的等价和最小函数依赖集最小函数依赖集定义定义4.184.18 如果G+=F+,则称F与G等价,记为F=G。F+=G+的充分必要条
20、件是F G+且G F+第44页/共93页45例:R(U)U=ABC F=AB,BC,AC,ABC,A BC可以写成:G=AB,BC证明:1:AB,BC 传递规则 AC 2:AB,扩展ABBB 即 AB B 再由BC 所以 ABC3:AB,BC 扩展 BBC 所以 A BCF与G等价第45页/共93页46定义定义 4.194.19:最小依赖集定义:最小依赖集定义:如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,也称最小依赖集或最小覆盖。1)F中任一函数依赖的右部仅含有一个属性。2)F中不存在这样的函数依赖XA,使得 F与F-X A等价。不存在冗余FD3)F中不存在这样的函数依赖XA,X
21、有真子集Z使得F-X AZA与F等价。决定因素不存在冗余第46页/共93页47例:U=SNO,SDEPT,MN,CNAME,G F=SNO SDEPT,SDEPT MN,SNO,CNAME G 设F=SNO SDEPT,SNO MN,SDEPT MN,(SNO,CNAME)G,(SNO,SDEPT)SDEPT结论:结论:F与 F 等价 F是最小覆盖,F不是。第47页/共93页48算法 4.2求Fm(F的最小依赖集)的算法(1)将XA1A2Ak(k2)转换为XAi(i=1,2,k)将右部属性分解为单个属性(2)逐个检查函数依赖XA,令G=F-XA,若A(X)G+,则从F中去掉XA。逐个检查F中的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理与应用 关系规范化理论 数据库 原理 应用 关系 规范化 理论

限制150内