版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关系模式设计基础第1页,共57页,2022年,5月20日,7点25分,星期一属性之间的联系描述应当具有某种“内在”性质,不能只根据属性之间的某些外在关联表征,随意将一些属性放在一起组成一个关系模式,这样将可能引发一系列问题,其中最突出的就是数据冗余以及由此带来的操作异常。也就是说,如果数据模式设计不当,就会出现数据冗余;有了数据冗余,就可能产生操作异常。 第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1模式设计与数据冗余第2页,共57页,2022年,5月20日,7点25分,星期一数据冗余(Data Redundancy)是指同一数据在一个或者多个数据文件中重复存储。系统中如果出现
2、数据冗余,不仅会大量占用消耗系统资源,造成不必要开销,更严重的是会带来各种数据操作异常,对数据库性能正常发挥造成极大影响。第5章 关系模式设计基础: 5.1 模式设计与数据冗余 数据冗余与操作异常第3页,共57页,2022年,5月20日,7点25分,星期一从数据结构的角度考察,如果对多个文件之间和同一个文件中数据之间的联系考虑不周或者处理不当,就有可能导致数据冗余。这里有两个层面上的问题: 多个文件之间的联系。 同一个文件中数据之间的联系。第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1.2 数据冗余产生原因第4页,共57页,2022年,5月20日,7点25分,星期一关系数据库较
3、好地处理了文件层面的联系,但并不意味着数据层面上的联系可以自动解决。恰恰相反,此时,第二个层面上问题反而会凸现出来。在关系数据库中,同一关系模式中各个属性子集之间的依赖关系,通常称为数据依赖(Data Independence)。关系系统当中数据冗余产生的重要原因就在于对数据依赖处理不当,也就是在于关系模式本身的结构设计可能存在缺陷。第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1.2 数据冗余产生原因第5页,共57页,2022年,5月20日,7点25分,星期一关系数据库中数据依赖的考虑来源于关系结构本身。在关系模式中,各个属性一般说来是有关联的,但是这些关联有着不同的表现形式。
4、 一部分属性的取值能够决定这个关系表中所有其它属性的取值,也就是部分属性构成的子集合与关系的整个属性集合的关联。事实上,一个关系可以有一个或者多个候选键,其中一个可以选为主键。主键的值唯一确定其它属性的值,它是一个元组存在的标识,也是各个元组相互区别的标识。既然作为“标识”,其取值就必须“确定无疑”,所以候选键的值不可重复出现,也不能全部或者部分设为空值。第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1.2 数据冗余产生原因第6页,共57页,2022年,5月20日,7点25分,星期一 一部分属性的取值决定表中其它若干属性的取值,也就是一些部分属性组成的子集合与另一些部分属性组成的
5、子集合的关联。这种数据关联可以看作是关系结构中“候选键”问题的推广,而通常所讲的“数据依赖”主要是指这种意义下的问题。第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1.2 数据冗余产生原因第7页,共57页,2022年,5月20日,7点25分,星期一解决关系数据库冗余问题的基本方案就是分析研究属性之间的联系,按照每个关系中属性间满足某种内在语义条件,以及相应运算当中表现出来某些特定要求,也就是按照属性间联系所处的规范等级来构造关系模式。由此产生的一整套有关理论称之为关系模式规范化理论或关系模式设计理论。在数据管理中,数据冗余一直是影响系统性能的重大问题,规范化理论就成为关系数据库模
6、式设计中的核心部分。 第5章 关系模式设计基础: 5.1 模式设计与数据冗余 5.1.3 解决问题思路第8页,共57页,2022年,5月20日,7点25分,星期一1 基本概念 设R(U)是属性集U上的关系模式,X和Y分别是U的属性子集。r是R(U)中任意给定的一个关系实例。若对于r中任意两个元组s和t,当sX = tX时,就有sY = tY,则称属性子集X函数决定属性子集Y或者称Y函数依赖X。第5章 关系模式设计基础: 5.2 函数依赖 5.2 函数依赖5.2 .1 函数依赖及相关概念(1)第9页,共57页,2022年,5月20日,7点25分,星期一当Y函数依赖于X时,则记为XY。如果XY,也
7、称X为决定因素(Determinant factor), Y为依赖因素(Dependent factor)。当Y不函数依赖于X,则记为XY如果XY,且YX,则记为XY。 第5章 关系模式设计基础: 5.2 函数依赖 5.2 .1 函数依赖及相关概念(2)第10页,共57页,2022年,5月20日,7点25分,星期一2.函数依赖三种类型(1)平凡与非平凡函数依赖如果XY,但Y不是X的子集,则称XY是非平凡函数依赖,否则称为平凡函数依赖。按照函数依赖的定义,当Y是X的子集时,Y“自然”是函数依赖于X的,这里“依赖”不反映任何新的语义。通常意义下的函数依赖一般都是指非平凡依赖。第5章 关系模式设计基
8、础: 5.2 函数依赖 5.2 .1 函数依赖及相关概念(3)第11页,共57页,2022年,5月20日,7点25分,星期一(2)部分与完全函数依赖如果XY,但对于X中的任意一个真子集X,都有Y不依赖于X,则称Y完全依赖于X。当Y完全依赖于X时,记为X Y。如果XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记为 X Y。第5章 关系模式设计基础: 5.2 函数依赖 5.2 .1 函数依赖及相关概念(4)第12页,共57页,2022年,5月20日,7点25分,星期一(3)传递与直接函数依赖设有两个非平凡函数依赖XY和YZ,并且X不函数依赖于Y,则称Z传递函数(Transitive Fun
9、ctional Dependency)依赖于X。在上述定义中,X不函数依赖于Y意味着X与Y不是一一对应;否则Z就是直接函数依赖于X,而不是传递函数依赖于X了。第5章 关系模式设计基础: 5.2 函数依赖 5.2 .1 函数依赖及相关概念(5)第13页,共57页,2022年,5月20日,7点25分,星期一3. 键的形式化定义(1)超键 设有关系模式R(U),K是R(U)中的属性子集,如果KU,则称K为R的超键(2)候选键 设有关系模式R(U),K是R(U)中的属性子集,如果K U,则称K为R的候选键 第5章 关系模式设计基础: 5.2 函数依赖 5.2.1 函数依赖及相关概念(6)第14页,共5
10、7页,2022年,5月20日,7点25分,星期一(3)主键 一个关系模式R的候选键可以有多个。如果在其中选定一个,则称该候选键为主键。(4)外键 设U属性子集k不是关系模式R的候选键,但是另一个关系模式S的候选键,则称k是R的外键。第5章 关系模式设计基础: 5.2 函数依赖 5.2.1 函数依赖及相关概念(7)第15页,共57页,2022年,5月20日,7点25分,星期一为了表述简洁和推理方便,在本章的以下部分,对有关记号使用做如下约定: 如果声明X、Y等是属性子集,则将XY简记为XY。 如果声明A、B等是属性,则将集合A,B简记为AB。第5章 关系模式设计基础: 5.2 函数依赖 5.2.
11、2 函数依赖集闭包(1)第16页,共57页,2022年,5月20日,7点25分,星期一 如果声明X是属性集,A是属性,则将XA简记为XA或AX。以上是针对两个对象的情形,对于多个对象也做类似约定。 关系模式简记为三元组R(U,F),其中U为模式的属性集合,F为模式给定的函数依赖集合。第5章 关系模式设计基础: 5.2 函数依赖 5.2.2 函数依赖集闭包(2)第17页,共57页,2022年,5月20日,7点25分,星期一函数依赖集合F的逻辑蕴含 设有关系模式R(U,F),又设X和Y是属性集合U的两个子集,如果对于R中每个满足F的关系r也满足XY,则称F逻辑蕴含XY,记为F XY。第5章 关系模
12、式设计基础: 5.2 函数依赖 5.2.2 函数依赖集闭包(3)第18页,共57页,2022年,5月20日,7点25分,星期一函数依赖集合F的闭包 设F是函数依赖集合,被F逻辑蕴含的函数依赖的全体构成的集合,称为函数依赖集F的闭包(Closure),记为F+,即F+= XY | F XY 在一般情况下,成立F F+。如果有F= F+,则称F是函数依赖的完备集合。第5章 关系模式设计基础: 5.2 函数依赖 5.2.2 函数依赖集闭包(4)第19页,共57页,2022年,5月20日,7点25分,星期一为了建立基于函数依赖的语法系统,从而求得已知函数依赖集合F的闭包F+,于1974年提出了一套推导
13、规则。使用这套规则,可以由已有的函数依赖逻辑推导出新的函数依赖。后来又经过不断完善,形成了著名的“Armstrong公理系统”,为关系模式设计提供了一个有效并且完备的理论基础。第5章 关系模式设计基础: 5.2 函数依赖 5.2.3 Armstrong公理系统(1)第20页,共57页,2022年,5月20日,7点25分,星期一(1)基本公理Armstrong公理系统有3条基本公理:A1(自反律,reflexivity):如果Y X U,则XY在R上成立。A2(增广律,augmentation):如果XY在R上成立,且ZU,则XZYZ。A3(传递律,Transitivity):如果XY和YZ在上
14、成立,则XZ在R上也成立。第5章 关系模式设计基础: 5.2 函数依赖 5.2.3 Armstrong公理系统(2)第21页,共57页,2022年,5月20日,7点25分,星期一(2)推理规则A4(合并性规则 union):XY,XZ XYZ。A5(分解性规则 decomposition):XY, ZY XZ。A6(拟传递性规则 pseudotransivity):XY,WYZ W XZ。第5章 关系模式设计基础: 5.2 函数依赖 5.2.3 Armstrong公理系统(3)第22页,共57页,2022年,5月20日,7点25分,星期一A7(复合性规则 composition rule):X
15、Y,WZ WXYZ。A8(通用一致性规则 general unification rule):XY,WZX(W-Y)YZ。 第5章 关系模式设计基础: 5.2 函数依赖 5.2.3 Armstrong公理系统(4)第23页,共57页,2022年,5月20日,7点25分,星期一设F和G是关系模式R上的两个函数依赖集,如果所有为F所蕴含的函数依赖都为G所蕴含,即F+是G+的子集:F+G+,则称G是F的覆盖。如果G是F的函数覆盖,同时F又是G的函数覆盖,即F+=G+,则称F和G是相互等价的函数依赖集。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :覆盖(1)第24页,共57页
16、,2022年,5月20日,7点25分,星期一当G是F的覆盖时,只要实现了G中的函数依赖,就自动实现了F中的函数依赖。当F和G等价时,只要实现了其中一个的函数依赖,就自动实现了另一个的函数依赖。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :覆盖(2)第25页,共57页,2022年,5月20日,7点25分,星期一对于一个函数依赖集F,称函数依赖集Fmin为F的最小函数依赖集,如果Fmin满足下述条件: Fmin与F等价:F+min=F+。 Fmin中每个函数依赖XY的依赖因素Y为单元素集,即Y只含有一个属性。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fm
17、in :概念(1)第26页,共57页,2022年,5月20日,7点25分,星期一 Fmin中每个函数依赖XY的决定因素X没有冗余,即只要删除X中任何一个属性就会改变Fmin的闭包F+min,。顺便说一句,一个具有如此性质的函数依赖称为是左边不可约的。 Fmin中每个函数依赖都不是冗余的,即删除Fmin中任何一个函数依赖,就将Fmin变为了另一个不等价于Fmin的集合。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :概念(2)第27页,共57页,2022年,5月20日,7点25分,星期一最小函数依赖集Fmin实际上是函数依赖集F的一种没有“冗余”的标准或规范形式。定义中的
18、“”表明F和Fmin具有相同的“功能”;“” 表明Fmin中每一个函数依赖都是“标准”的,即其中依赖因素都是单属性子集;第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :概念(3)第28页,共57页,2022年,5月20日,7点25分,星期一“”表明Fmin中每一个函数依赖的决定因素都没有冗余的属性;“”表明Fmin中没有可以从F的剩余函数依赖中导出冗余的函数依赖。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :概念(4)第29页,共57页,2022年,5月20日,7点25分,星期一 由分解性规则A5得到一个与F等价的函数依赖集G,G中任意函数依赖
19、的依赖因素都是单属性集合。 在G的每一个函数依赖中消除决定因素中的冗余属性。 在G中消除冗余的函数依赖。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :算法(1)第30页,共57页,2022年,5月20日,7点25分,星期一例5-7 设有关系模式R(U,F),其中U=ABC,F=ABC,BC,AB, ABC,按照上述算法,可以求出Fmin。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :算法(2)第31页,共57页,2022年,5月20日,7点25分,星期一 将F中所有函数依赖的依赖因素写成单属性集形式:G=AB,AC,BC,AB , ABC 这
20、里多出一个AB,可以删掉,得到: G=AB,AC,BC, ABC 。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :算法(3)第32页,共57页,2022年,5月20日,7点25分,星期一 G中的AC可以从AB和BC推导出来,AC是冗余的,删掉AC可得:G=AB, BC, ABC G中的ABC可以从BC推导出来,是冗余的,删掉ABC最后得:G=AB, BC所以F的最小函数依赖集Fmin=AB, BC。第5章 关系模式设计基础: 5.2 函数依赖 最小函数依赖集Fmin :算法(4)第33页,共57页,2022年,5月20日,7点25分,星期一函数依赖是关系模式中数据依赖
21、语义范围较小但很基本的一个部分。函数依赖引起的问题主要是数据冗余及其数据操作异常,解决的办法是进行关系模式的合理分解。那么,分解时应当遵循怎样的思路?分解到怎样的程度才算是“规范”模式? 第5章 关系模式设计基础: 5.4 关系模式范式 5. 4关系模式范式第34页,共57页,2022年,5月20日,7点25分,星期一1.第一范式1NF如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(First Normal Form),记为R1NF。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(1)第35页,共57页,2022年,5月20日,
22、7点25分,星期一2.第2范式如果关系模式R(U)1NF,并且R(U)中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式R(U)满足第二范式,记为R(U)NF。由定义,第二范式的实质是要从第一范式中消除非主属性对键的部分函数依赖。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(2)第36页,共57页,2022年,5月20日,7点25分,星期一不满足第二范式的关系模式R中存在非主属性对键的部分函数依赖,即存在XY,其中Y是非主属性, X是键K的真子集, 第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(3)第37页,共57页
23、,2022年,5月20日,7点25分,星期一分解成2NF模式集的算法设关系模式R(U),主键是K,R上还存在FD XZ,并且Z是非主属性和XK,那么KZ就是一个局部依赖。此时应把R分解成两个模式R1(XZ),主键是X;R2(Y),其中Y=U-Z,主键仍是K,外键是X(REFERENCES R1)。利用外键和主键的联接可以从R1和R2重新得到R。如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。 第5章 关系模式设计基础: 5.4 关系模式范式第38页,共57页,2022年,5月20日,7点25分,星期一(1)第三范式的概念如果关系模式R(U)1NF,且
24、R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)NF。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(4)第39页,共57页,2022年,5月20日,7点25分,星期一 如果关系模式R(U)不满足3NF,则其中一定存在着非主属性Y对键K的传递依赖,此时有着下述三种情形:存在XY,其中Y是非主属性, X是键K的真子集,这实际上是一种基于部分依赖的传递依赖,其示意如前图所示。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(5)第40页,共57页,2022年,5月20日,7点25分,星期一
25、存在XY,其中Y是非主属性,而X既非超键,又非键K的真子集,但X和键K的交集非空。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(6)第41页,共57页,2022年,5月20日,7点25分,星期一 存在XY,其中Y是非主属性,而X既不是超键,又不是键的真子集,但X和键K的交集为空。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(7)第42页,共57页,2022年,5月20日,7点25分,星期一模式分解为3NF模式集算法设有R(U),K是主键,XZ是R(U)函数依赖,Z是非主属性集且不是X的子集,而X不是候选键,此时KZ是R(U)的传递
26、依赖。将R(U)分解为新关系模式: R1(XZ),主键是X。 R2(Y),其中Y=U-Z,主键是K,外键是X。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(8)第43页,共57页,2022年,5月20日,7点25分,星期一4.BC范式设关系模式R(U)1NF,如果R(U)中每一个属性都不传递依赖于R(U)的候选键,则称关系模式R(U)满足Boyce-Codd范式,简称BC范式,记为R(U)BCNF。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(9)第44页,共57页,2022年,5月20日,7点25分,星期一由定义可以知道,非BC
27、范式有下面情形: 属性A含于某键W当中,属性集X与键K的交集非空,且XA。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(10)第45页,共57页,2022年,5月20日,7点25分,星期一 属性A含于某键K中,属性集X与键K的交集为空,且XA。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(11)第46页,共57页,2022年,5月20日,7点25分,星期一BC范式算法 如果中有一个关系模式Ri相对于(F)不是BCNF,则Ri中存在非平凡函数依赖XY,使得X不包含超键。此时将Ri分解为XY和Ri-Y两个模式。 重复上述步骤直到中每一
28、个模式都是BCDF。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.1 函数依赖与范式(12)第47页,共57页,2022年,5月20日,7点25分,星期一(1)多值依赖概念设有关系模式R(U),X、Y是属性集U中的两个子集,而r是R(U)中任意给定的一个关系实例r。如果有下述条件成立,则称Y多值依赖于X,记为XY: 对于r在X上的一个确定的值(元组),都有r在Y中一组值与之对应。 Y的这组对应值与r在Z=U-X-Y中属性值无关。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.2 多值依赖与4范式(1)第48页,共57页,2022年,5月20日,7点25分,星期一此时,如果
29、XY,但Z=U-X-Y,则称其为非平凡多值依赖,否则称为平凡多值依赖。平凡多值依赖的一个常见情形是U=XY,此时Z=,多值依赖定义中关于XY的要求总是满足的。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.2 多值依赖与4范式(2)第49页,共57页,2022年,5月20日,7点25分,星期一“”说明X与Y之间的对应关系是相当宽泛的,即X一个值所对应的Y值的个数没有作任何强制性规定,Y值的个数可以是从零到任意多个自然数,是“一对多”的情形。“”说明这种“宽泛性”应当受必要的限制,即X所对应的Y的取值与U-X-Y无关,是一种特定的“一对多”情形。确切地说,如果用形式化语言描述,则有:第
30、5章 关系模式设计基础: 5.4 关系模式范式 5.4.2 多值依赖与4范式(3)第50页,共57页,2022年,5月20日,7点25分,星期一在R(U)中如果存在XY,则对R中任意一个关系实例r,当元组s和t属于r,并且在X上的投影相等:s X = t X,此时由s = s X+s Y+s U-X-Y 和t = t X + t Y+ t U-X-Y可以做出两个新元组:u = s X+t Y+s U-X-Y和v = t X + s Y + t U-X-Y则u和v还应当属于r。第5章 关系模式设计基础: 5.4 关系模式范式 5.4.2 多值依赖与4范式(4)第51页,共57页,2022年,5月20日,7点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年餐厅设备采购清单及预算
- 2026年航空航天技术:高超声速飞行器热防护系统设计与材料应用
- 2026年KTV音响设备点检与保养规程
- 2026年热处理渗氮层深度测定方法
- 2026年潮玩盲盒形象设计与隐藏款营销流程
- 2025湖南省长沙市中考历史真题(解析版)
- 2026年燃气管道日常维护保养制度
- 2026年食堂食材采购食品安全风险防控
- 2026年食堂厨房设备维护保养合同
- 2026年幼儿园劳动教育环境创设与材料投放指导手册
- 江苏南京市2026年普通高等学校招生全国统一考试样卷数学试题+答案
- 重庆西南大学附中高2026届高考全真模拟试题化学+答案
- 初中音乐七年级下册《大鱼》二度创作表现性评价教案
- 2026年外研版小学英语六年级下册单元基础达标测试卷含答案
- 国家义务教育质量监测八年级劳动素养综合测试
- 2025年吉林省中考历史真题(含答案)
- 2026年高考地理三轮复习:10大地理热点考点+模拟试题(含答案)
- 2025年湖南湘西教育局直属学校公开招聘试题含答案
- 县级国土空间总体规划动态维护方案(范本)
- 脱硝SCR反应器安装作业指导书
- GB/T 32958-2016流体输送用不锈钢复合钢管
评论
0/150
提交评论