版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章
关系规范化理论4.1规范化问题4.2函数依赖4.3关系模式的分解4.4关系模式的范式4.5关系模式的规范化4.6小结4.1规范化问题第4章本章重点了解规范化理论的研究动机及所要解决的问题及数据库设计中的作用和多值依赖与第四范式。理解函数依赖的有关概念;第一范式、第二范式、第三范式和BC范式的定义;掌握候选键选取及最小依赖集求取算法关系模式规范化的方法和关系模式分解的方法。4.1规范化问题第4章规范化理论的主要内容4.1.1关系数据库的规范化理论函数依赖范式(NormalForm)模式设计核心,是模式分解和设计的基础模式分解的标准4.1规范化问题第4章不合理的关系模式存在的异常问题4.1.2学生选课信息关系模式:SCT(Sno,Sn,Cno,Cn,Gr,Tn,Tp,Dp)SnoSnCnoCnGrTnTpDp2501102王丽丽302程序设计85陈建设教授计算机2501103赵峰302程序设计76陈建设教授计算机2501105赵光明302程序设计52陈建设教授计算机2501104伊萍605数据结构93杨小明副教授计算机2501105赵光明605数据结构80杨小明副教授计算机2501202王丽丽810通信原理68王东强副教授电子2501104伊萍810通信原理75王东强副教授电子2501105赵光明912电路基础63赵芳芳讲师电子4.1规范化问题第4章数据冗余插入异常删除异常更新异常根本原因:属性间存在着数据依赖关系
SnoSnCnoCnGrTnTpDp2501102王丽丽302程序设计85陈建设教授计算机2501103赵峰302程序设计76陈建设教授计算机2501105赵光明302程序设计52陈建设教授计算机2501104伊萍605数据结构93杨小明副教授计算机2501105赵光明605数据结构80杨小明副教授计算机2501202王丽丽810通信原理68王东强副教授电子2501104伊萍810通信原理75王东强副教授电子2501105赵光明912电路基础63赵芳芳讲师电子4.1规范化问题第4章一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;(2)没有插入异常;(3)没有删除异常;(4)没有更新异常。SCT(SNo,SN,CNo,Cn,Gr,Tn,Tp,Dp)S(SNo,SN)T(CNo,Cn,Tn,Tp,Dp)SC(SNo,CNo,Gr)关系模式分解:4.2函数依赖第4章函数依赖的定义4.2.1关系模式中的各属性之间相互依赖、相互制约的联系称为数据依赖。函数依赖(FD,FunctionalDependency)是关系模式中属性之间的一种逻辑依赖关系。函数依赖多值依赖SNo决定函数(Sn,CNo,Gr)(Sn,CNo,Gr)函数依赖于SNoSCT(SNo,Sn,CNo,Gr,Tn,Tp,Dp)SNo一个学生Sn,CNo,Gr4.2函数依赖第4章U={SNo,Sn,CNo,Cn,Gr,Tn,Tp,Dp}F={SNo→Sn,CNo→Cn,Cn→Tn,Tn→Tp,Tn→Dp,(SNo,CNo)→Gr}SNo\→Gr
CNo\→Gr定义4.1设关系模式R(U),U是属性全集,X和Y是U的两个属性子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体值与之对应,那么称X函数决定Y,或Y函数依赖于X,记作X→Y,称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:X
Y。当X→Y且Y→X时,则记作:X↔Y。
4.2函数依赖第4章完全函数依赖与部分函数依赖定义4.2设关系模式R(U),U是属性全集,X和Y是U的两个属性子集,且有X→Y,如果对于X的任意一个真子集W,都有W→Y,则称Y完全函数依赖于X,记为Xf
Y否则,称Y部分函数依赖于X,记为X
pY。传递函数依赖定义4.3
设关系模式R(U),U是属性全集,X、Y和Z是U的不同子集,如果X→Y(并且Y→X不成立),Y→Z,则称Z传递函数依赖于X,或称X传递函数确定Z,记为Xf
Z。4.2函数依赖第4章函数依赖的逻辑蕴涵4.2.2定义4.4设F是在关系模式R(U)上的函数依赖集合,X和Y是U的两个属性子集,X→Y是一个函数依赖。如果从F中能够推导出X→Y,即对于每个满足F的关系r也满足X→Y,那么称X→Y为F的逻辑蕴涵,记为F|=X→Y。定义4.5设F是一个关系模式R(U)上的函数依赖集合,被F逻辑蕴涵的全部函数依赖的集合称为函数依赖集F的闭包,记为F+。即:F+={X→Y|F|=X→Y}4.2函数依赖第4章函数依赖的推理规则及正确性4.2.3如果A→B且B→C,则A→C。B⊆A,则A→B。这是一个平凡的函数依赖。如果A→B,则AC→BC。传递性(Transitivity)如果X→Y是从F用Armstrong公理推导出的,那么X→Y被F逻辑蕴涵,即X→Y在F+中。自反性(Reflexivity)增广性(Augmentation)4.2函数依赖第4章如果A→B,C→D,则AC→BD。如果A→BC,则A→B,则A→C。如果A→B且A→C,则A→BC。合并性(Union)若A→B,BC→D,则AC→D。分解性(Decomposition)复合性(Composition)伪传递性(Pseudotransitivity)4.2函数依赖第4章属性集的闭包及其算法4.2.4设有关系模式R(U),属性集为U,F是R上的函数依赖集,X是U的子集(X⊆U)。用函数依赖推理规则,可从F中推导出函数依赖X→A中所有A的集合,称为属性集X关于F的闭包,记为X+。即:X+={属性A|X→A在F+中}输入:属性集U,U上的函数依赖集F,X⊆U。输出:X在F上的闭包X+。R=X
do{ifF中有一个函数依赖Y→Z满足Y⊆RthenR=R∪Z
}while(R有所改变)例子:U={XYZW},F={X→Y,Y→Z,W→Y},计算X+,XW+和(YW)+算法4.1定义4.64.2函数依赖第4章候选码的求解理论和算法4.2.5设有一个关系模式R(U),属性集为U,F是R上的函数依赖集,可以将U的属性分为以下4种。L类R类LR类N类(1)L类属性:只在F中各函数依赖的左部出现。(2)R类属性:只在F中各函数依赖的右部出现。(3)LR类属性:在F中各函数依赖的左部和右部都出现。(4)N类属性:不在F中的各函数依赖中出现。L类和N类属性集中的每个属性必定是候选码中的属性,R类属性集中的每个属性都必定不是候选码中的属性,LR类属性集中的每个属性可能存在于候选码中。4.2函数依赖第4章确定候选码的求解算法设有关系模式R(A,B,C,D,E,F),函数依赖集F={AB→E,AC→F,AD→B,B→C,C→D},求R的所有候选码。(1)划分属性类别:令X为L类和N类属性集的集合,Y为LR类属性集的集合。(2)基于F计算X+:若X+包含R的全部属性,则X是R的唯一候选码,算法结束,否则转(3)。(3)逐一取Y中的单一属性A,与X组成属性组XA,若(XA)+={U},则XA为候选码,令Y=Y−{A},然后转(4)。(4)若已找出所有候选码,则算法结束;否则,依次取Y中的任意两个、三个等属性,与X组成属性组XZ,若(XZ)+={U},且XZ不包含已求得的候选码,则XZ为候选码。4.2函数依赖第4章函数依赖集的等价、覆盖和最小函数依赖集4.2.6定义4.7如果G+=F+,就说函数依赖集F覆盖G(或G覆盖F),也就是说,F与G等价。定义4.8如果函数依赖集F满足以下条件,那么称F为一个极小函数依赖集mF,即最小函数依赖集或最小覆盖(minimalcover)。①F中的任一函数依赖的右边仅含有一个属性。②F中不存在这样的一个函数依赖X→A,X有真子集Z,使得F−{X→A}∪{Z→A}与F等价,即左部无多余属性。③F中不存在这样的一个函数依赖X→A,使得F与F−{X→A}等价,即无多余的函数依赖。4.3关系模式的分解第4章模式分解问题4.3.1定义4.9设存在关系模式R(U),R1,R2,…,Rk都是R的子集,R=R1∪R2∪…∪Rk,关系模式的集合用ρ表示,ρ={R1,R2,…,Rk}。用ρ代替R的过程称为关系模式的分解。4.3关系模式的分解第4章无损连接分解4.3.2定义4.10设ρ={R1,R2,…,Rk}是关系模式R(U)的一个分解,如果对于R的任一满足F的关系r,都有r=∏R1(r)∞∏R2(r)∞…∞∏Rk(r),则称这个分解ρ具有无损连接性,简称ρ为无损分解。算法4.2检验无损连接的算法步骤:(1)构造一个n列k行的表,每一列对应于属性,每一行对应于分解中的一个关系模式,如果Aj∈R,则第j列第i行上放符号ai,否则放符号bij。(2)逐个检查F中的每一个函数依赖,并修改表中的元素。取F中的一个函数依赖X→Y,在X的分量中寻找相同的行,然后将这些行中Y的分量改为相同的符号,如果其中有aj,将bij改为aj,如果其中无aj,则改为bij。(3)如果发现某一行变成了a1,a2,…,an,算法结束,分解ρ具有无损连接性;如果F中的所有函数依赖都不能再修改表中的内容,且没有发现这样的行,则分解ρ不具有无损连接性。4.3关系模式的分解第4章保持函数依赖的分解4.3.3一个无损连接分解不一定是保持函数依赖的一个保持函数依赖的分解也不一定是无损连接的设ρ={R1,R2,…,Rk}是关系模式R(U)的一个分解,R的函数依赖集F在Ri上的函数依赖为Fi,如果满足:则称ρ具有保持函数依赖性,也称该分解为保持依赖分解。4.4关系模式的范式第4章不同范式之间的关系4.4关系模式的范式第4章第一范式4.4.1定义4.11在一个关系模式R中,如果R的每个属性都是不可再分的数据项,那么称R属于第一范式(1NF),记作R∈1NF。1NF是关系模式应具备的最起码的条件。第一范式是最基本的范式,在关系中,每个属性都是不可再分的简单数据项。第一范式可能具有大量的数据冗余,存在插入异常、删除异常和更新异常等弊端。如关系模式SCD属于1NF,它既存在完全函数依赖,又存在部分函数依赖和传递函数依赖。克服这些弊端的方法是用投影运算将关系分解,去掉过于复杂的函数依赖关系,向更高一级的范式进行转换。4.4关系模式的范式第4章第二范式4.4.2定义4.12对于关系模式R∈1NF,且R中的每个非主属性都完全函数依赖于任意一个候选码,则该关系模式R属于第二范式,记作R∈2NF。从1NF关系中消除非主属性对主码的部分函数依赖,则可得到2NF关系在分解时遵循“一事一地”的原则4.4关系模式的范式第4章2NF规范化2NF规范化是指把1NF关系模式通过投影分解,转换成2NF关系模式的集合。[例4-11]将SCT(SNo,Sn,CNo,Cn,Gr,Tn,Tp,Dp)规范为2NF。学生R1(CNo,Tn,Tp,Dp)课程R2(SNo,Sn,CNo,Cn,Gr)SCT非主属性对主键完全函数依赖。因此,R1∈2NF,R2∈2NF。4.4关系模式的范式第4章第三范式4.4.3定义4.13若关系模式R∈2NF,R中的所有非主属性对任何候选码都不存在传递函数依赖,则称R属于第三范式,记作R∈3NF。【例4-12】:例4-11中的R1(CNo,Tn,Tp,Dp)属于2NF模式。如果R1中存在函数依赖:CNo→Tn、Tn→Tp和Tn→Dp,那么CNo→Tp和CNo→Dp就是一个传递依赖,即R1∉3NF。如果把R1分解成R11(Tn,Tp,Dp)和R12(CNo,Tn)后,CNo→Tp和CNo→Dp就不会出现在R11和R12中了,即R11和R12∈3NF。4.4关系模式的范式第4章BC范式4.4.4BC范式的定义定义4.14对于关系模式R∈1NF,若X→Y且Y⊈X时X必含有码,则称R属于BC(Boyce-Codd)范式,即若R中的每个决定因素都包含码,则R∈BCNF。满足BCNF的关系模式:①所有非主属性对每个码都是完全函数依赖;②所有主属性对每个不包含它的码也是完全函数依赖;③没有任何属性完全函数依赖于非码的任何一组属性。4.4关系模式的范式第4章[例4-13]在关系模式SCT(S,C,T)中,S表示学生,C表示课程,T表示教师。每名教师只教一门课。每门课程有若干教师,某学生选定某门课程,就对应一个固定的教师。由语义可得到如下存在着主属性对主码的部分函数依赖:(S,C)→T;(S,T)→C;T→C,这里(S,J)、(S,T)都是候选键。所以SCT不是BCNF。无部分函数依赖和传递函数依赖,SCT∈3NF4.4关系模式的范式第4章消除了函数依赖(S,T)C,ST∈BCNF,TC∈BCNF[例4-13]设有关系模式SCT(S,C,T)候选码:(S,C)和(S,T)函数依赖是:F={(S,C)→T,(S,T)→C,T→C}分解{TC(T,C),ST(S,T)}代替SCT4.4关系模式的范式第4章多值依赖与第四范式4.4.5
关系CTR多值依赖定义定义4.15设R(U)是属性集U上的一个关系模式,X、Y、Z是U的子集且Z=U−X−Y。如果R的任一关系r,对于给定的(X,Z)上的每对值,都存在一组Y值与之对应,且Y的这组值仅决定于X值而与Z的值不相关,则称Y多值依赖于X或X多值决定Y,记为X→→Y。课程C教师T参考书R程序设计陈建设程序设计基础杨晓明C语言程序设计面向对象程序设计通信原理王东强通信原理通信原理赵芳芳通信原理入门4.4关系模式的范式第4章数据冗余大插入异常删除异常
C与T间的联系被称为多值依赖-多个T对应一个C-一个确定的C值,与其所对应的一组T值与R值无关课程C教师T参考书R程序设计陈建设程序设计基础程序设计陈建设C语言程序设计程序设计陈建设面向对象程序设计程序设计杨晓明程序设计基础程序设计杨晓明C语言程序设计程序设计杨晓明面向对象程序设计通信原理王东强通信原理通信原理王东强通信原理入门通信原理赵芳芳通信原理通信原理赵芳芳通信原理入门4.4关系模式的范式第4章一个BCNF的关系模式不一定是4NF4NF的关系模式必定是BCNF的关系模式4NF是BCNF的推广第四范式(4NF)定义定义4.16设R(U)∈1NF,对于R的每个非平凡多值依赖X→→Y(Y⊈X),X都含有码,那么称R属于第四范式,记作R(U)∈4NF。4.4关系模式的范式第4章函数依赖和多值依赖如果只考虑函数依赖,那么属于BCNF的关系模式规范化程度已达到最高;如果只考虑多值依赖,那么属于4NF的关系模式规范化程度已达到最高。4.4关系模式的范式第4章模式分解的算法4.4.6对于模式分解:若要求分解具有无损连接性,则模式分解一定可达到4NF。若要求分解保持函数依赖,则模式分解可以达到3NF,但不一定能达BCNF。若要求分解既要保持函数依赖,又要具有无损连接性,则模式分解可以达到3NF,但不一定能达到BCNF。4.5关系模式的规范化第4章关系模式规范化的目的和原则4.5.1一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化(Normalization)。
规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。规范化的基本原则就是遵循“一事一地”的原则。4.5关系模式的规范化第4章关系模式规范化的步骤4.5.2规范化过程
4.5关系模式的规范化第4章关系模式规范化的要求4.5.3等价的三种标准:分解要具有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消防防汛安全培训
- 食品包装纳米阻隔项目分析方案
- 银行业年底工作总结
- 2025届陕西省咸阳市数学三年级下学期期中联考模拟试题含答案
- 2025届阳江市阳西县数学四年级第二学期期末试题含答案解析
- 2026年陶氏化学(中国)秋招试题及答案
- 2026年室内设计师招聘面试题及答案
- 2026年深圳农商银行校招面试题及答案
- 2026年山西焦煤集团招聘试题及答案
- 2026年赛诺菲(中国)招聘试题及答案
- 新生儿脑出血外科治疗
- 2026人教版五年级数学上册第一单元第1课《观察简单组合体(1)》课件
- 2026年秋季冀人版小学科学四年级上册教学计划
- 2026-2030中国心律管理系统行业市场发展趋势与前景展望战略分析研究报告
- 广东能源微藻减排转化利用火电机组二氧化碳产业化示范工程项目环境影响报告表
- 2026年湖北省科技信息专业技术职务水平能力考试(科技信息)自测试题及答案解析
- T∕CHATA 060-2026 肺结核患者密切接触者结核感染筛查规范
- 施工现场安全用电技术措施和电气防火措施
- 粉尘防爆安全管理台账-全套
- 应用海洋深层水
- GB/T 5796.3-2022梯形螺纹第3部分:基本尺寸
评论
0/150
提交评论