04 关系数据库的规范化设计.ppt
《04 关系数据库的规范化设计.ppt》由会员分享,可在线阅读,更多相关《04 关系数据库的规范化设计.ppt(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 RDB的规范化设计的规范化设计王传栋王传栋南京邮电大学计算机学院软件工程系南京邮电大学计算机学院软件工程系内容提纲内容提纲n1)关系模式的设计问题)关系模式的设计问题q内涵与外延内涵与外延q冗余和异常冗余和异常n2)函数依赖)函数依赖qFD定义、逻辑蕴涵、闭包、推理规则定义、逻辑蕴涵、闭包、推理规则qFD与关键码的联系与关键码的联系q平凡的平凡的FD,属性集闭包,推理规则的正确性和完备性属性集闭包,推理规则的正确性和完备性qFD集的等价,最小集的等价,最小FD集集n3)关系模式的分解特性)关系模式的分解特性q无损分解无损分解q保持依赖集保持依赖集2Chd.Wang,E-Mail:C
2、内容提纲内容提纲n4)关系模式的范式)关系模式的范式q1NF,2NF,3NF,BCNFq算法算法n分解成分解成2NF、3NF模式集模式集n5)关系模式的进一步规范化处理)关系模式的进一步规范化处理qMVD、4NF、JD和和5NF的定义的定义3Chd.Wang,E-Mail:C引言引言n关系关系DB的规范化设计的规范化设计q是指面对一个现实问题(是指面对一个现实问题(问题域问题域),如何选择一个比较好的关),如何选择一个比较好的关系模式集合(系模式集合(求解域求解域:DB的实现方案,也称数据库模式)的实现方案,也称数据库模式)q规范化设计理论,对关系数据库结构的设计起着重要的作用,规范化设计理论
3、,对关系数据库结构的设计起着重要的作用,涉及涉及3个方面的内容:个方面的内容:n数据依赖数据依赖q起着核心作用,研究数据之间的联系起着核心作用,研究数据之间的联系n范式(范式(NF)q关系模式的标准关系模式的标准n模式设计方法模式设计方法q自动化设计的基础自动化设计的基础4Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n外延和内涵外延和内涵q外延,外延,与时间有关,随时间推移不断变化与时间有关,随时间推移不断变化n通常指关系、表或当前值通常指关系、表或当前值q内涵,内涵,与时间是独立的,与时间是独立的,通常指关系模式,包括通常指关系模式,包括2个方面个方面n数据的定义:
4、数据的定义:关系、属性、域的定义和说明关系、属性、域的定义和说明n数据完整性约束的定义数据完整性约束的定义q静态约束,涉及到数据之间联系(称为数据依赖,静态约束,涉及到数据之间联系(称为数据依赖,data dependences)、)、主键和值域的设计主键和值域的设计q动态约束,定义各种操作(插入、删除、修改)对关系值动态约束,定义各种操作(插入、删除、修改)对关系值的影响的影响5Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n冗余和异常冗余和异常q问题域:学生选修课程问题域:学生选修课程q泛关系模式泛关系模式nR(SNO,SNAME,AGE,SEX,NativePla
5、ce,CNO,CNAME,Credit,CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)q泛关系泛关系6Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n冗余和异常冗余和异常q数据冗余是指同一个数据在系统中多次重复出现数据冗余是指同一个数据在系统中多次重复出现q数据冗余引起操作异常数据冗余引起操作异常n修改异常修改异常n插入异常插入异常n删除异常删除异常q消除冗余的主要方式:消除冗余的主要方式:分解分解q问题问题n什么是最优关系模式?什么是最优关系模式?n标准是什么?标准是什么?n如何实现?如何实现?7Chd.Wa
6、ng,E-Mail:C关系模式的设计问题关系模式的设计问题n冗余和异常冗余和异常q求解域求解域n数据库模式数据库模式n数据库实例:关系集合数据库实例:关系集合8Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n非形式化设计准则非形式化设计准则q准则准则1:一事一地的设计原则一事一地的设计原则n关系模式设计应尽可能只包含有直接联系的属性,不要包含关系模式设计应尽可能只包含有直接联系的属性,不要包含有间接联系的属性有间接联系的属性n也就是:每个关系模式应只对应于一个实体类型或一个联系也就是:每个关系模式应只对应于一个实体类型或一个联系类型类型q准则准则2n关系模式设计应尽可能
7、使相应关系中不出现插入、删除和修关系模式设计应尽可能使相应关系中不出现插入、删除和修改等操作异常现象改等操作异常现象n如果出现任何异常,则要清楚地加以说明,并确保更新数据如果出现任何异常,则要清楚地加以说明,并确保更新数据库的程序正确操作库的程序正确操作9Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n非形式化设计准则非形式化设计准则q准则准则3n关系模式设计应尽可能使相应关系中避免放置经常为空值的关系模式设计应尽可能使相应关系中避免放置经常为空值的属性属性(允许为(允许为NULL的属性尽量少)的属性尽量少)q准则准则4n关系模式设计应尽可能使关系的关系模式设计应尽可能
8、使关系的等值连接在主键和外键的属等值连接在主键和外键的属性上进行性上进行,并且保证连接后不会生成额外的元组,并且保证连接后不会生成额外的元组10Chd.Wang,E-Mail:C关系模式的设计问题关系模式的设计问题n符号规定符号规定q大写字母大写字母“A,B,C,”n表示单个属性表示单个属性q大写字母大写字母“,U,V,W,X,Y,Z”n表示属性集表示属性集q大写字母大写字母R表示关系模式,小写字母表示关系模式,小写字母r表示其关系表示其关系n有时也用属性名的组合写法表示关系模式有时也用属性名的组合写法表示关系模式n若模式有若模式有A、B、C有三个属性,就用有三个属性,就用ABC表示关系模式表
9、示关系模式q属性集属性集A1,An简写为简写为A1AnnX Y 简写为简写为XYnX A简写为简写为XA或或AX11Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n定义定义q关系模式关系模式R(U),X U,Y U,r是是R的当前关系,函数依赖的当前关系,函数依赖FD是形为是形为XY的一个命题:的一个命题:nr中任意两个元组中任意两个元组t和和s,都有都有tXsX蕴涵蕴涵tYsY,则称则称FD XY在关系模式在关系模式R(U)中成立中成立q若若XY,且且YX,记作记作X Y,X与与Y一一对应一一对应(一对一)(一对一)n理解
10、理解q函数依赖是指:函数依赖是指:一个或一组属性的值可以决定其它属性的值一个或一组属性的值可以决定其它属性的值n属性值之间的联系(本质:实体完整性)属性值之间的联系(本质:实体完整性)n是基于整个关系模式的,而不是关系模式的特定实例是基于整个关系模式的,而不是关系模式的特定实例(或值或值)qXY,读读“X函数决定函数决定Y”或或“Y函数依赖于函数依赖于X”,称称X为为决定子决定子qY不依赖于不依赖于X,记作记作XY/12Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n示例示例q1)n关系关系R中中qFD ABn关系关系S中中
11、qFD ABq2)关系模式关系模式R(ABCD),),属性值间具有联系:属性值间具有联系:nA值与值与B值有一对多联系值有一对多联系qFD BA;AB nC值与值与D值有一对一联系值有一对一联系qFD CD,DC;D C/13Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n示例示例q3)R(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit,CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)nSNOSNAME,SNO(AGE,S
12、EX)nCNOCNAMEn(SNO,CNO)GRADE,(SNO,CNO)UnCNOTNO,TNOCNOnAGESNO,SEXAGE等等/14Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的逻辑蕴涵的逻辑蕴涵q定义定义n设设F是在关系模式是在关系模式R上成立的函数依赖的集合,上成立的函数依赖的集合,XY 是一个是一个函数依赖。如果对于函数依赖。如果对于R的每个满足的每个满足F的关系的关系r也满足也满足XY,那那么称么称F逻辑蕴涵逻辑蕴涵 XY,记为记为F XYn示例示例qF=AB,BC ACq定义定义n设设F是函数依赖
13、集,被是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集称为函数依赖集F的闭包(的闭包(closure),),记为记为F+q即即 F+=XY记为记为F XY 15Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则qArmstrong公理,关系模式公理,关系模式R(U,F),),X、Y、Z、W U FD的推理规则有以下三条:的推理规则有以下三条:nA1(自反性,自反性,reflexivity)q若若Y X U,则则 XY 在在R上成立上成立nA2(增广性,
14、增广性,augmentation)q若若 XY在在R上成立,且上成立,且Z U,则则 XZYZ 在在R上成立上成立nA3(传递性,传递性,transitivity)q若若 XY 和和YZ 在在R上成立,则上成立,则 XZ 在在R上成立上成立q定理:定理:FD推理规则推理规则A1、A2和和A3是正确的是正确的(证明(证明P121)n即,如果即,如果XY是从是从F用推理规则导出的,则用推理规则导出的,则XY在在F+中中16Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q其他五条推理规则其他五条推理规则n
15、1)A4(合并性,合并性,union)q XY,XZ XYZn2)A5(分解性,分解性,decomposition)q XY,Z Y XZn3)A6(伪传递性)伪传递性)q XY,WYZ WXZn4)A7(复合性,复合性,composition)q XY,WZ XWYZn5)A8q XY,WZ X(WY)YZ17Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q其他五条推理规则的证明其他五条推理规则的证明n1)A4(合并性,合并性,union):):XY,XZ XYZq证明证明 XY,X XX Y,即
16、即XXY XZ,X YY Z,即即XYYZ XXY,XYYZ;XYZn2)A5(分解性,分解性,decomposition):):XY,Z Y XZq证明证明 Z Y,YZ ;XY,YZ,XZ18Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q其他五条推理规则的证明其他五条推理规则的证明n3)A6(伪传递性):伪传递性):XY,WYZ WXZq证明证明 XY,W XW Y,即即 WXWY WXWY,WYZ;WXZn4)A7(复合性,复合性,composition):):XY,WZ XWYZq证明证明
17、 XY,W XW Y,即即XWWY WZ,W YY Z,即即WYYZ,XWYZ19Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q其他五条推理规则的证明其他五条推理规则的证明n5)A8:XY,WZ X(WY)YZq证明证明 XY X(WY)(WY)Y 即:即:X(WY)WY WZ WYYZ X(WY)WY,WYYZ X(WY)YZ20Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q定义定义n对于对于FD
18、XY,如果如果Y X,那么称那么称XY是一个是一个“平凡的平凡的FD”,否则称为否则称为“非平凡的非平凡的FD”q定理定理n如果如果A1,An是关系模式是关系模式R的属性集,那么的属性集,那么XA1An成成立的充分必要条件是立的充分必要条件是XAi(i=1,n)成立成立q备注备注n依据推理规则,求解依据推理规则,求解F的闭包的闭包F+问题的规模是指数级的问题的规模是指数级的n那么如何降低问题的复杂度?那么如何降低问题的复杂度?21Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q示例示例n设有关系模式
19、设有关系模式R(A,B,C,D,E),其上的函数依赖集其上的函数依赖集F=ABCD,AB,DE。求证求证F必蕴涵必蕴涵AEn证明证明 AB(已知)已知)AAB(扩展律)扩展律)ABCD(已知)已知)ACD(传递律)传递律)AC,AD(分解规则)分解规则)DE(已知)已知)AE(传递律传递律)22Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD的推理规则的推理规则q示例示例n已知关系模式已知关系模式R(ABC),),F=AB,BC,求求F+n求解求解q据已知条件和推理规则,可知据已知条件和推理规则,可知F+有有43个个FD
20、q3个属性,个属性,F+=43个个FD;问题规模指数级问题规模指数级23Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)nFD和关键码的联系和关键码的联系q定义定义n关系模式关系模式R(U),),假设假设X1 X,X Uq若若XU在在R上成立上成立,则称则称X是是R的一个的一个超键超键q若若XU在在R上成立上成立,但对于但对于 X1U 不成立(不成立(X1U),则称则称X是是R上的一个上的一个候选键候选键/24Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n
21、FD和关键码的联系和关键码的联系q示例示例nR(SNO,SNAME,AGE,SEX,NativePlace,CNO,CNAME,Credit,CreditHours,CPNO,TNO,TNAME,TITLE,SEX,DNO,DNAME,Grade)n(SNO,CNO)是唯一的候选键,因为是唯一的候选键,因为q(SNO,CNO)Uq如何确定关系的候选键?如何确定关系的候选键?n包含包含(SNO,CNO)的属性组合就是的属性组合就是超键,但不是候选键,超键,但不是候选键,如如q(SNO,CNO,AGE)q(SNO,SNAME,CNO,CNAME)q能能U,但但 25Chd.Wang,E-Mail:
22、C函数依赖(函数依赖(functional dependency,简记为简记为FD)n属性集的闭包属性集的闭包q引言引言n通过求属性集闭包,通过求属性集闭包,把把“求解求解F+问题的规模问题的规模”从指数级降从指数级降低到多项式级;低到多项式级;可以可以判断关系模式的候选键判断关系模式的候选键q定义定义n设设R(U,F),X U,则属性集,则属性集X相对于相对于F的闭包:的闭包:qX =属性属性AF+XAq是一个使用推理规则从是一个使用推理规则从F推出的,所有形如满足推出的,所有形如满足XA的属的属性性A的集合的集合q定理定理nXY能用能用FD推理规则推出的充分必要条件是推理规则推出的充分必要
23、条件是Y X+F F26Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n属性集的闭包属性集的闭包q算法,算法,R(U,F),X U,求,求X+F F27Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n属性集的闭包属性集的闭包q示例示例nR(A,B,C,D,E),F=ABC,BD,CE,ECB,ACB 求求(AB)n1)X(0)=X=AB;搜索搜索F,得到得到ABC,BD;X(1)=AB C D=ABCDn2)X(1)X(0);搜索搜索F,得到得到CE,AC
24、B;X(2)=ABCD E B=ABCDEn3)X(2)X(1);搜索搜索F,得到得到ECB;X(3)=ABCDE B=ABCDEn4)X(3)=X(2);结束,结束,(AB)=ABCDE+F F+F F28Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n属性集的闭包属性集的闭包q应用应用nABE能否从能否从F中推出?中推出?(AB)=ABCDE,YESnR(A,B,C,D,E),(AB)是候选键吗?是候选键吗?(AB)=ABCDE,YESnR(U,F),),求候选键的方法:求候选键的方法:q若属性若属性A仅在仅在FD右部,
25、则它一定不包含在任何候选键中右部,则它一定不包含在任何候选键中q若属性若属性A仅在仅在FD左部,则它一定包含在某个候选键中左部,则它一定包含在某个候选键中q若属性若属性A既在既在FD右部又在右部又在FD左部,则它可能包含在某个左部,则它可能包含在某个候选键中候选键中q在上述基础上求属性闭包在上述基础上求属性闭包+F F+F F29Chd.Wang,E-Mail:C函数依赖(函数依赖(functional dependency,简记为简记为FD)n属性集的闭包属性集的闭包q应用应用nR(C,T,H,R,S,G)F=CT,HRC,HTR,CSG,HSR 求其候选键求其候选键n求解求解q+CTR q
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 关系数据库的规范化设计 关系 数据库 规范化 设计
限制150内