《关系模式设计基础精选PPT.ppt》由会员分享,可在线阅读,更多相关《关系模式设计基础精选PPT.ppt(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关系模式设计基础第1页,此课件共57页哦属性之间的联系描述应当具有某种属性之间的联系描述应当具有某种“内在内在”性质,不能只根据属性之间的某些外在性质,不能只根据属性之间的某些外在关联表征,随意将一些属性放在一起组成关联表征,随意将一些属性放在一起组成一个关系模式,这样将可能引发一系列问一个关系模式,这样将可能引发一系列问题,其中最突出的就是数据冗余以及由此题,其中最突出的就是数据冗余以及由此带来的操作异常。也就是说,如果数据模带来的操作异常。也就是说,如果数据模式设计不当,就会出现数据冗余;有了数式设计不当,就会出现数据冗余;有了数据冗余,就可能产生操作异常。据冗余,就可能产生操作异常。第第
2、5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1模式设计与数据冗余模式设计与数据冗余第2页,此课件共57页哦数据冗余(数据冗余(Data Redundancy)是指同一)是指同一数据在一个或者多个数据文件中重复存储。数据在一个或者多个数据文件中重复存储。系统中如果出现数据冗余,不仅会大量占系统中如果出现数据冗余,不仅会大量占用消耗系统资源,造成不必要开销,更严用消耗系统资源,造成不必要开销,更严重的是会带来各种数据操作异常,对数据重的是会带来各种数据操作异常,对数据库性能正常发挥造成极大影响。库性能正常发挥造成极大影响。第第5章章 关系模式设计基
3、础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1.1数据冗余与操作异常数据冗余与操作异常第3页,此课件共57页哦从数据结构的角度考察,如果对多个文件之从数据结构的角度考察,如果对多个文件之间和同一个文件中数据之间的联系考虑不间和同一个文件中数据之间的联系考虑不周或者处理不当,就有可能导致数据冗余。周或者处理不当,就有可能导致数据冗余。这里有两个层面上的问题:这里有两个层面上的问题:多个文件之间的联系。多个文件之间的联系。同一个文件中数据之间的联系。同一个文件中数据之间的联系。第第5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余
4、5.1.2 数据冗余产生原因数据冗余产生原因第4页,此课件共57页哦关系数据库较好地处理了文件层面的联系,但并不意味着数据层面上的联系可以自动解决。恰恰相反,此时,第二个层面上问题反而会凸现出来。在关系数据库中,同一关系模式中各个属性子集之间的依赖关系,通常称为数据依赖(Data Independence)。关系系统当中数据冗余产生的重要原因就在于对数据依赖处理不当,也就是在于关系模式本身的结构设计可能存在缺陷。第第5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1.2 数据冗余产生原因数据冗余产生原因第5页,此课件共57页哦关系数据库中数据依赖的
5、考虑来源于关系结构本身。在关系模式中,各个属性一般说来是有关联的,但是这些关联有着不同的表现形式。一部分属性的取值能够决定这个关系表中所有其它属性的取值,也就是部分属性构成的子集合与关系的整个属性集合的关联。事实上,一个关系可以有一个或者多个候选键,其中一个可以选为主键。主键的值唯一确定其它属性的值,它是一个元组存在的标识,也是各个元组相互区别的标识。既然作为“标识”,其取值就必须“确定无疑”,所以候选键的值不可重复出现,也不能全部或者部分设为空值。第第5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1.2 数据冗余产生原因数据冗余产生原因第6页,
6、此课件共57页哦 一部分属性的取值决定表中其它若干属性的取值,也就是一些部分属性组成的子集合与另一些部分属性组成的子集合的关联。这种数据关联可以看作是关系结构中“候选键”问题的推广,而通常所讲的“数据依赖”主要是指这种意义下的问题。第第5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1.2 数据冗余产生原因数据冗余产生原因第7页,此课件共57页哦解决关系数据库冗余问题的基本方案就是分析研究属性之间的联系,按照每个关系中属性间满足某种内在语义条件,以及相应运算当中表现出来某些特定要求,也就是按照属性间联系所处的规范等级来构造关系模式。由此产生的一整套
7、有关理论称之为关系模式规范化理论或关系模式设计理论。在数据管理中,数据冗余一直是影响系统性能的重大问题,规范化理论就成为关系数据库模式设计中的核心部分。第第5章章 关系模式设计基础:关系模式设计基础:5.1 模式设计与数据冗余模式设计与数据冗余 5.1.3 解决问题思路解决问题思路第8页,此课件共57页哦1 基基本本概概念念 设R(U)是属性集U上的关系模式,X和Y分别是U的属性子集。r是R(U)中任意给定的一个关系实例。若对于r中任意两个元组s和t,当sX=tX时,就有sY=tY,则称属性子集X函函数数决决定定属性子集Y或者称Y函数依赖函数依赖X。第第5章章 关系模式设计基础:关系模式设计基
8、础:5.2 函数依赖函数依赖 5.2 函数依赖函数依赖5.2.1 函数依赖及相关概念(函数依赖及相关概念(1)第9页,此课件共57页哦当Y函数依赖于X时,则记为XY。如果XY,也称X为决定因素(Determinant factor),Y为依赖因素(Dependent factor)。当Y不函数依赖于X,则记为XY如果XY,且YX,则记为XY。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.1 函数依赖及相关概念(函数依赖及相关概念(2)第10页,此课件共57页哦2.函数依赖三种类型函数依赖三种类型(1)平凡与非平凡函数依赖)平凡与非平凡函数依赖如果XY,但Y不
9、是X的子集,则称XY是非平凡函数依赖,否则称为平凡函数依赖。按照函数依赖的定义,当Y是X的子集时,Y“自然”是函数依赖于X的,这里“依赖”不反映任何新的语义。通常意义下的函数依赖一般都是指非平凡依赖。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.1 函数依赖及相关概念(函数依赖及相关概念(3)第11页,此课件共57页哦(2)部分与完全函数依赖)部分与完全函数依赖如果如果XY,但对于,但对于X中的任意一个真子集中的任意一个真子集X,都有,都有Y不依赖于不依赖于X,则称,则称Y完全依赖于完全依赖于X。当当Y完全依赖于完全依赖于X时,记为时,记为X Y。如果如果X
10、Y,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数依赖,记为部分函数依赖,记为 X Y。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.1 函数依赖及相关概念(函数依赖及相关概念(4)第12页,此课件共57页哦(3)传递与直接函数依赖)传递与直接函数依赖设有两个非平凡函数依赖设有两个非平凡函数依赖XY和和YZ,并且,并且X不函数不函数依赖于依赖于Y,则称,则称Z传递函数(传递函数(Transitive Functional Dependency)依赖于)依赖于X。在上述定义中,在上述定义中,X不函数依赖于不函数依赖于Y意味着意味着X与与
11、Y不是一一对不是一一对应;否则应;否则Z就是直接函数依赖于就是直接函数依赖于X,而不是传递函数依,而不是传递函数依赖于赖于X了。了。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.1 函数依赖及相关概念(函数依赖及相关概念(5)第13页,此课件共57页哦3.键的形式化定义键的形式化定义(1)超键)超键 设有关系模式设有关系模式R(U),),K是是R(U)中的属性子集,如果)中的属性子集,如果KU,则称,则称K为为R的超键的超键(2)候选键)候选键 设有关系模式设有关系模式R(U),),K是是R(U)中的属性子集,如果)中的属性子集,如果K U,则,则称称K为为
12、R的候选键的候选键 第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.1 函数依赖及相关概念(函数依赖及相关概念(6)第14页,此课件共57页哦(3)主键)主键 一个关系模式一个关系模式R的候选键可以有的候选键可以有多个。如果在其中选定一个,则称该候选多个。如果在其中选定一个,则称该候选键为主键。键为主键。(4)外键)外键 设设U属性子集属性子集k不是关系模式不是关系模式R的的候选键,但是另一个关系模式候选键,但是另一个关系模式S的候选键,的候选键,则称则称k是是R的外键。的外键。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.
13、1 函数依赖及相关概念(函数依赖及相关概念(7)第15页,此课件共57页哦为了表述简洁和推理方便,在本章的以下部为了表述简洁和推理方便,在本章的以下部分,对有关记号使用做如下约定:分,对有关记号使用做如下约定:如果声明如果声明X、Y等是属性子集,则将等是属性子集,则将X Y简记为简记为XY。如果声明如果声明A、B等是属性,则将集合等是属性,则将集合A,B简记为简记为AB。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.2 函数依赖集闭包(函数依赖集闭包(1)第16页,此课件共57页哦 如果声明如果声明X是属性集,是属性集,A是属性,则将是属性,则将X A简记为
14、简记为XA或或AX。以上是针对两个对象的情形,对于多个对象以上是针对两个对象的情形,对于多个对象也做类似约定。也做类似约定。关系模式简记为三元组关系模式简记为三元组R(U,F),其中),其中U为模式的属性集合,为模式的属性集合,F为模式给定的函数为模式给定的函数依赖集合。依赖集合。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.2 函数依赖集闭包(函数依赖集闭包(2)第17页,此课件共57页哦函函数数依依赖赖集集合合F的的逻逻辑辑蕴蕴含含 设设有有关关系系模模式式R(U,F),又又设设X和和Y是是属属性性集集合合U的的两两个个子子集集,如如果果对对于于R中中每
15、每个个满满足足F的的关关系系r也也满满足足XY,则则称称F逻逻辑辑蕴蕴含含XY,记记为为F XY。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.2 函数依赖集闭包(函数依赖集闭包(3)第18页,此课件共57页哦函数依赖集合函数依赖集合F的闭包的闭包 设设F是函数依赖集合,是函数依赖集合,被被F逻辑蕴含的函数依赖的全体构成的集合,逻辑蕴含的函数依赖的全体构成的集合,称为函数依赖集称为函数依赖集F的闭包(的闭包(Closure),记),记为为F+,即,即F+=XY|F XY 在一般情况下,成立在一般情况下,成立F F+。如果有。如果有F=F+,则称,则称F是函数
16、依赖的完备集合。是函数依赖的完备集合。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.2 函数依赖集闭包(函数依赖集闭包(4)第19页,此课件共57页哦为为了了建建立立基基于于函函数数依依赖赖的的语语法法系系统统,从从而而求求得得 已已 知知 函函 数数 依依 赖赖 集集 合合 F的的 闭闭 包包 F+,W.W.Armstrong于于1974年年提提出出了了一一套套推推导导规规则则。使使用用这这套套规规则则,可可以以由由已已有有的的函函数数依依赖赖逻逻辑辑推推导导出出新新的的函函数数依依赖赖。后后来来又又经经过过不不断断完完善善,形形成成了了著著名名的的“Ar
17、mstrong公公理理系系统统”,为为关关系系模模式式设设计计提提供供了了一一个个有有效并且完备的理论基础。效并且完备的理论基础。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.3 Armstrong公理系统(公理系统(1)第20页,此课件共57页哦(1)基本公理)基本公理Armstrong公理系统有公理系统有3条基本公理:条基本公理:A1(自反律,(自反律,reflexivity):如果):如果Y X U,则,则XY在在R上成立。上成立。A2(增广律,(增广律,augmentation):如果):如果XY在在R上成上成立,且立,且ZU,则,则XZYZ。A3(
18、传递律,(传递律,Transitivity):如果):如果XY和和YZ在在上成立,则上成立,则XZ在在R上也成立。上也成立。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.3 Armstrong公理系统(公理系统(2)第21页,此课件共57页哦(2)推理规则)推理规则A4(合并性规则(合并性规则 union):):XY,XZ XYZ。A5(分解性规则(分解性规则 decomposition):):XY,ZY XZ。A6(拟传递性规则(拟传递性规则 pseudotransivity):):XY,WYZ W XZ。第第5章章 关系模式设计基础:关系模式设计基础:5
19、.2 函数依赖函数依赖 5.2.3 Armstrong公理系统(公理系统(3)第22页,此课件共57页哦A7(复合性规则(复合性规则 composition rule):):XY,WZ WXYZ。A8(通用一致性规则(通用一致性规则 general unification rule):):XY,WZX(W-Y)YZ。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.3 Armstrong公理系统(公理系统(4)第23页,此课件共57页哦设设F和和G是关系模式是关系模式R上的两个函数依赖集,上的两个函数依赖集,如果所有为如果所有为F所蕴含的函数依赖都为所蕴含的函数
20、依赖都为G所蕴所蕴含,即含,即F+是是G+的子集:的子集:F+G+,则称,则称G是是F的覆盖。的覆盖。如果如果G是是F的函数覆盖,同时的函数覆盖,同时F又是又是G的函数的函数覆盖,即覆盖,即F+=G+,则称,则称F和和G是相互等价的是相互等价的函数依赖集。函数依赖集。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:覆盖(:覆盖(1)第24页,此课件共57页哦当当G是是F的覆盖时,只要实现了的覆盖时,只要实现了G中的函数中的函数依赖,就自动实现了依赖,就自动实现了F中的函数依赖。中的函数依赖。当当F和和G等价时,只要实现了
21、其中一个的函等价时,只要实现了其中一个的函数依赖,就自动实现了另一个的函数依赖。数依赖,就自动实现了另一个的函数依赖。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:覆盖(:覆盖(2)第25页,此课件共57页哦对于一个函数依赖集对于一个函数依赖集F,称函数依赖集,称函数依赖集Fmin为为F的最小函数依赖集,如果的最小函数依赖集,如果Fmin满满足下述条件:足下述条件:Fmin与与F等价:等价:F+min=F+。Fmin中每个函数依赖中每个函数依赖XY的依赖因素的依赖因素Y为单元素集,即为单元素集,即Y只含有一个属性。只含
22、有一个属性。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:概念(:概念(1)第26页,此课件共57页哦 Fmin中每个函数依赖中每个函数依赖XY的决定因素的决定因素X没有冗余,即只要删除没有冗余,即只要删除X中任何一个属性就中任何一个属性就会改变会改变Fmin的闭包的闭包F+min,。顺便说一句,。顺便说一句,一个具有如此性质的函数依赖称为是左边一个具有如此性质的函数依赖称为是左边不可约的。不可约的。Fmin中每个函数依赖都不是冗余的,即中每个函数依赖都不是冗余的,即删除删除Fmin中任何一个函数依赖,就将中任何一个函
23、数依赖,就将Fmin变为了另一个不等价于变为了另一个不等价于Fmin的集合。的集合。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:概念(:概念(2)第27页,此课件共57页哦最最小小函函数数依依赖赖集集Fmin实实际际上上是是函函数数依依赖赖集集F的的一一种种没没有有“冗冗余余”的的标标准准或或规规范范形形式式。定定义义中中的的“”表表明明F和和Fmin具具有有相相同同的的“功功能能”;“”表表明明Fmin中中每每一一个个函函数数依依赖赖都都是是“标标准准”的的,即即其其中中依依赖赖因因素素都都是单属性子集;是单属性子
24、集;第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:概念(:概念(3)第28页,此课件共57页哦“”表表明明Fmin中中每每一一个个函函数数依依赖赖的的决决定定因因素素都都没没有有冗冗余余的的属属性性;“”表表明明Fmin中中没没有有可可以以从从F的的剩剩余余函函数数依依赖赖中中导导出出冗冗余余的函数依赖。的函数依赖。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:概念(:概念(4)第29页,此课件共57页哦 由分解性规则由分解性规则A5得到一个与
25、得到一个与F等价的函等价的函数依赖集数依赖集G,G中任意函数依赖的依赖因素中任意函数依赖的依赖因素都是单属性集合。都是单属性集合。在在G的每一个函数依赖中消除决定因素的每一个函数依赖中消除决定因素中的冗余属性。中的冗余属性。在在G中消除冗余的函数依赖。中消除冗余的函数依赖。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:算法(:算法(1)第30页,此课件共57页哦例例5-7 设有关系模式设有关系模式R(U,F),其中),其中U=ABC,F=ABC,BC,AB,ABC,按照上述算法,可以求出,按照上述算法,可以求出Fmin
26、。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:算法(:算法(2)第31页,此课件共57页哦 将将F中所有函数依赖的依赖因素写成单属中所有函数依赖的依赖因素写成单属性集形式:性集形式:G=AB,AC,BC,AB,ABC 这里多出一个这里多出一个AB,可以删掉,得到:,可以删掉,得到:G=AB,AC,BC,ABC。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:算法(:算法(3)第32页,此课件共57页哦 G中的中的AC可以从可以从AB和和BC推导
27、出来,推导出来,AC是冗余的,删是冗余的,删掉掉AC可得:可得:G=AB,BC,ABC G中的中的ABC可以从可以从BC推导出来,是冗余的,删掉推导出来,是冗余的,删掉ABC最最后得:后得:G=AB,BC所以所以F的最小函数依赖集的最小函数依赖集Fmin=AB,BC。第第5章章 关系模式设计基础:关系模式设计基础:5.2 函数依赖函数依赖 5.2.4最小函数依赖集最小函数依赖集Fmin:算法(:算法(4)第33页,此课件共57页哦函数依赖是关系模式中数据依赖语义范围较函数依赖是关系模式中数据依赖语义范围较小但很基本的一个部分。函数依赖引起的小但很基本的一个部分。函数依赖引起的问题主要是数据冗余
28、及其数据操作异常,问题主要是数据冗余及其数据操作异常,解决的办法是进行关系模式的合理分解。解决的办法是进行关系模式的合理分解。那么,分解时应当遵循怎样的思路?分解那么,分解时应当遵循怎样的思路?分解到怎样的程度才算是到怎样的程度才算是“规范规范”模式?模式?第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4关系模式范式关系模式范式第34页,此课件共57页哦1.第一范式第一范式1NF如果一个关系模式R中每个属性值都是一个不可分解的数据量,则称该关系模式满足第一范式(First Normal Form),记为R1NF。第第5章章 关系模式设计基础:关系模式设计
29、基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式(函数依赖与范式(1)第35页,此课件共57页哦2.第第2范式范式如果关系模式如果关系模式R(U)1NF,并且,并且R(U)中的每一个非主属性完全函数依赖于中的每一个非主属性完全函数依赖于R(U)的候选键,则称该关系模式)的候选键,则称该关系模式R(U)满足第二范式,记为满足第二范式,记为R(U)NF。由定义,第二范式的实质是要从第一范式中由定义,第二范式的实质是要从第一范式中消除非主属性对键的部分函数依赖。消除非主属性对键的部分函数依赖。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.
30、1 函数依赖与范式(函数依赖与范式(2)第36页,此课件共57页哦不满足第二范式的关系模式不满足第二范式的关系模式R中存在非主属中存在非主属性对键的部分函数依赖,即存在性对键的部分函数依赖,即存在XY,其,其中中Y是非主属性,是非主属性,X是键是键K的真子集,的真子集,第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(3)第37页,此课件共57页哦分解成分解成2NF模式集的算法模式集的算法设关系模式R(U),主键是K,R上还存在FD XZ,并且Z是非主属性和XK,那么KZ就是一个局部依赖。此时应把R分解成两个模式R1(X
31、Z),主键是X;R2(Y),其中Y=U-Z,主键仍是K,外键是X(REFERENCES R1)。利用外键和主键的联接可以从R1和R2重新得到R。如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式第38页,此课件共57页哦(1)第三范式的概念)第三范式的概念如果关系模式R(U)1NF,且R(U)中的每一个非主属性都不传递依赖于R的候选键,则称关系模式R(U)属于第三范式,记为R(U)NF。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4
32、.1 函数依赖与范式函数依赖与范式(4)第39页,此课件共57页哦 如果关系模式如果关系模式R(U)不满足3NF,则其中一定存在着非主属性Y对键K的传递依赖,此时有着下述三种情形:存在XY,其中Y是非主属性,X是键K的真子集,这实际上是一种基于部分依赖的传递依赖,其示意如前图所示。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(5)第40页,此课件共57页哦 存在XY,其中Y是非主属性,而X既非超键,又非键K的真子集,但X和键K的交集非空。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式
33、 5.4.1 函数依赖与范式函数依赖与范式(6)第41页,此课件共57页哦 存在XY,其中Y是非主属性,而X既不是超键,又不是键的真子集,但X和键K的交集为空。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(7)第42页,此课件共57页哦模式分解为模式分解为3NF模式集算法模式集算法设有R(U),K是主键,XZ是R(U)函数依赖,Z是非主属性集且不是X的子集,而X不是候选键,此时KZ是R(U)的传递依赖。将R(U)分解为新关系模式:R1(XZ),主键是X。R2(Y),其中Y=U-Z,主键是K,外键是X。第第5章章 关系
34、模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(8)第43页,此课件共57页哦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页哦由定义可以知道,非由定义可以知道,非BC范式有下面情形:范式有下面情形:属性属性A含于某键含于某键W当中,属性集当中,属性集
35、X与键与键K的的交集非空,且交集非空,且XA。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(10)第45页,此课件共57页哦 属属性性A含含于于某某键键K中中,属属性性集集X与与键键K的的交交集为空,且集为空,且XA。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(11)第46页,此课件共57页哦BC范式算法范式算法 如果中有一个关系模式Ri相对于(F)不是BCNF,则Ri中存在非平凡函数依赖XY,使得X不包含超键。此时将Ri分解为XY和Ri
36、-Y两个模式。重复上述步骤直到中每一个模式都是BCDF。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.1 函数依赖与范式函数依赖与范式(12)第47页,此课件共57页哦(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
37、 多值依赖与多值依赖与4范式范式(1)第48页,此课件共57页哦此时,如果XY,但Z=U-X-Y,则称其为非平凡多值依赖,否则称为平凡多值依赖。平凡多值依赖的一个常见情形是U=XY,此时Z=,多值依赖定义中关于XY的要求总是满足的。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(2)第49页,此课件共57页哦“”说明X与Y之间的对应关系是相当宽泛的,即X一个值所对应的Y值的个数没有作任何强制性规定,Y值的个数可以是从零到任意多个自然数,是“一对多”的情形。“”说明这种“宽泛性”应当受必要的限制,即X所对应的Y的取值与
38、U-X-Y无关,是一种特定的“一对多”情形。确切地说,如果用形式化语言描述,则有:第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(3)第50页,此课件共57页哦在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 关系
39、模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(4)第51页,此课件共57页哦第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(5)第52页,此课件共57页哦(2)多值依赖性质)多值依赖性质由定义可以得到多值依赖具有下述基本性质:在R(U)中XY成立的充分必要条件是XU-X-Y成立。必要性可以从前述分析中得到证明。事实上,交换s和t的Y值所得到的元组和交换s和t中的Z=U-X-Y值得到的两个元组是一样的。充分性类似可证。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式
40、5.4.2 多值依赖与多值依赖与4范式范式(6)第53页,此课件共57页哦 在R(U)中如果成立XY,则必有XY。事实上,此时,如果s、t在X上的投影相等,则在Y上的投影也必然相等,该投影自然与s和t在Z=U-X-Y上的投影无关。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(7)第54页,此课件共57页哦“”表明多值依赖具有某种“对称性质”:只要知道了R上的一个多值依赖XY,就可以得到另一个多值依赖XZ,而且X、Y和Z是U的分割。“”说明多值依赖是函数依赖的某种推广,函数依赖是多值依赖的特例。第第5章章 关系模式设
41、计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(8)第55页,此课件共57页哦3.第四范式第四范式 4NF对于R(U)中的任意两个属性子集X和Y,如果对于任意非平凡多值依赖XY,X都为超键,则称R(U)满足第四范式,记为R(U)4NF。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(9)第56页,此课件共57页哦关系模式R(U)上的函数依赖XY可以看做多值依赖XY,如果R(U)属于第4范式,此时X就是超键,所以 XY满足BCNF。因此,由4NF的定义,就可以得到下面两点基本结论:4NF中可能的多值依赖都是非平凡多值依赖。4NF中所有的函数依赖都满足BCNF。因此,可以粗略地说,R(U)满足第四范式必满足BC范式。但反之不成立,所以BC范式不必是第四范式。第第5章章 关系模式设计基础:关系模式设计基础:5.4 关系模式范式关系模式范式 5.4.2 多值依赖与多值依赖与4范式范式(10)第57页,此课件共57页哦
限制150内