第3章 的关系数据库的设计理论ppt课件_第1页
第3章 的关系数据库的设计理论ppt课件_第2页
第3章 的关系数据库的设计理论ppt课件_第3页
第3章 的关系数据库的设计理论ppt课件_第4页
第3章 的关系数据库的设计理论ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第3 3章章 关系数据库设计理论关系数据库设计理论 shbeking hd8go hd88go oemgc 189288 hzp580 yjoem oemdg xcdnpx oemdg zhongtezc yanjigzzg-nsk skf-zr ygcooper skf-zt nsk-zt fag-zt zhongtezc ntn-zt 189286 xcdnpx dgxcdn dgxcpx xcwxpx xunchi-px 0759mz lczx1883.1 关系模式设计问题关系模式设计问题例如:Student(Sno,Sdept,Mname,Cname,Grade) F=SnoSdep

2、t,Sdept Mname,(Sno,Cname) Grade存在问题:数据冗余太大插入异常删除异常更新异常分解成三个关系模式:S(Sno,Sdept, SnoSdept);SG(Sno,Cname,Grade,(Sno,Cname) Grade);D(Sdept,Mname,Sdept Mname);3.2 3.2 规范化规范化 数据依赖:关系中属性值之间的这种相互依赖又相互制约的联数据依赖:关系中属性值之间的这种相互依赖又相互制约的联 系,称为数据依赖。包括:函数依赖、多值依赖。系,称为数据依赖。包括:函数依赖、多值依赖。一、函数依赖定义1:设R(U)是属性集U上的关系模式。X,Y是U的子

3、集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数决定Y或Y函数依赖于X,记作XY。说明:1、函数依赖是语义范畴的概念 2、函数依赖关系是反映属性之间的一般规律根据函数依赖的定义,可找出下面规律:根据函数依赖的定义,可找出下面规律:1、在一个关系模式中,如属性、在一个关系模式中,如属性X,Y有有1:1联系,则存在函数依赖联系,则存在函数依赖XY、 YX,可记作,可记作XY2、X、Y是是1:m联系,则存在联系,则存在YX,但,但XY3、X、Y是是n:m联系,则联系,则X、Y之间不存在任何函数依赖之间不存在任何函数依赖XYXY,但,

4、但Y YX X则称则称XYXY是平凡的函数依赖。否则,称非平凡的函数依赖。是平凡的函数依赖。否则,称非平凡的函数依赖。定义定义2:在:在RU中,如果中,如果XY,并且对于,并且对于X的任何一个真子集的任何一个真子集X,都有,都有 XY,则称,则称Y对对X部分函数依赖,记作部分函数依赖,记作XpY,否则,称,否则,称Y完全函数依赖于完全函数依赖于X,记作,记作XfY。定义定义3:在:在RU中,如果中,如果XY,(,(YX),),Y X,YZ,则称,则称Z对对X传递传递 函数依赖。函数依赖。定义定义4:设:设K为为R中的属性或属性组合,若中的属性或属性组合,若K fU则则K为为R的候选码。的候选码

5、。若候选码多于一个,则选定其中的一个为主码若候选码多于一个,则选定其中的一个为主码Primary Key)。)。包含在任何一个候选码中的属性,叫做主属性。不包含在任何码中的属性称包含在任何一个候选码中的属性,叫做主属性。不包含在任何码中的属性称为非主属性或非码属性。整个属性组是码,称为全码。为非主属性或非码属性。整个属性组是码,称为全码。定义定义5:关系模式:关系模式R中属性或属性组中属性或属性组X并非并非R的码,但的码,但X是另一个关系模式的是另一个关系模式的 码,则称码,则称X是是R的外部码的外部码Foreign Key),也称外码。),也称外码。二、码二、码三、范式三、范式范式:是符合某

6、一种级别的关系模式的集合。范式:是符合某一种级别的关系模式的集合。 关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同 范式。范式。1NF,2NF,3NF,BCNF,4NF,5NF定义:关系模式定义:关系模式 RU中所有属性都不可再分的,则称中所有属性都不可再分的,则称R是第一范式,记作是第一范式,记作 R1NF。例如:SLCSNO,SDEPT,SLOC,CNO,GRADE)2NF。SNOCNOGSDEPT SLOC五、五、3NF定义定义7:若:若R2NF,且,且R中任一非主属性都不传递函数依赖于码,则中任一非主属性都不

7、传递函数依赖于码,则R3NF。SNOCNOGSDEPT SLOCSNOSLSC上例 SL分解为: SDSNO,SDEPT) DLSDEPT,SLOC)由于第三范式有效地消除了非主属性对码的部分和传递依赖,因而消除了一大类操作异常问题。因而,3NF在数据库设计中得到了广泛应用。六、六、BCNF例:关系模式例:关系模式STJS,T,J中,中,S表示学生,表示学生,T表示教师,表示教师,J表示教师,表示教师,J表表 示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课,示课程。每一教师只教一门课。每门课有若干教师,某一学生选定某门课, 就对应一个固定的教师。就对应一个固定的教师。由语义可

8、得到如下的函数依赖:由语义可得到如下的函数依赖: (S,J)T; (S,T)J; T J关系有两个候选键,是关系有两个候选键,是S,J和和S,T)S、T、J都是主属性,不存在非主属性,更不会有非主属性对键的传递依赖、都是主属性,不存在非主属性,更不会有非主属性对键的传递依赖、部分依赖了,因而,部分依赖了,因而,STJ关系满足第三范式。关系满足第三范式。但仍然存在问题:但仍然存在问题:定义定义8:R BCNF,当且仅当每个决定因素都是码候选键)。,当且仅当每个决定因素都是码候选键)。上例分解为:上例分解为:STS,T)、)、TJT,J)七、多值依赖七、多值依赖例:学校中某一门课程由多个教员讲授,

9、他们使用相同的一套参考书。每个教例:学校中某一门课程由多个教员讲授,他们使用相同的一套参考书。每个教 员可以讲授多门课程,每种参考书可以供多门课程使用。如下表:员可以讲授多门课程,每种参考书可以供多门课程使用。如下表: 课程C 教员T 参考书B 物理 李勇 普通物理学 物理 李勇 光学原理 物理 李勇 物理习题集 物理 王军 普通物理学 物理 王军 光学原理 物理 王军 物理习题集 数学 李勇 数学分析 数学 李勇 微分方程 数学 李勇 高等代数 数学 张平 数学分析 数学 张平 微分方程 数学 张平 高等代数 定义定义9:关系模式:关系模式RU),),X,Y,Z是是U的子集,并且的子集,并且

10、Z=U-X-Y。关系模式。关系模式R(U)中多值依赖中多值依赖XY成立,当且仅当对成立,当且仅当对RU的任一关系的任一关系r,给定的一对,给定的一对x,z)值,有一组值,有一组Y的值,这组值仅仅决定于的值,这组值仅仅决定于x值而与值而与z值无关。值无关。若XY ,而Z=即Z为空,则称XY为平凡的多值依赖。多值依赖性质:多值依赖性质:对称性。若对称性。若XY ,则,则XZ,其中,其中Z=U。传递性。若传递性。若XY, ,则,则XY。函数依赖可看作是多值依赖的特殊情况。若函数依赖可看作是多值依赖的特殊情况。若XY,则,则XY。若若XY, X,则,则XY。若若XY, X,则,则XY。若若XY, X,

11、则,则XY, XY。八、八、4NF定义定义10:关系模式:关系模式R1NF,如果对于,如果对于R的每个非平凡多的每个非平凡多值依赖值依赖XY( Y X ),),X都含有码,则称都含有码,则称R 4NF。1NF 消除非主属性对码的部分函数依赖消除非主属性对码的部分函数依赖2NF 消除非主属性对码的传递函数依赖消除非主属性对码的传递函数依赖3NF 消除主属性对码的部分和传递函数依赖消除主属性对码的部分和传递函数依赖BCNF 消除非平凡且非函数依赖的多值依赖消除非平凡且非函数依赖的多值依赖4NF3.3 3.3 数据依赖的公理系统数据依赖的公理系统定义定义11:对于满足一组函数依赖:对于满足一组函数依

12、赖F的关系模式的关系模式R,其任何一个关系,其任何一个关系r,若函,若函数依赖数依赖XY都成立,则称都成立,则称F逻辑蕴含逻辑蕴含XY。Armstrong公理系统:设公理系统:设U为属性集总体,为属性集总体,F是是U上的一组函数依赖,于是有关系上的一组函数依赖,于是有关系模式模式R。对。对R来说有以下的推理规则:来说有以下的推理规则:A1自反律:若自反律:若YX U,则,则XY为为F所蕴含。所蕴含。A2增广律:若增广律:若XY为为F所蕴含,且所蕴含,且Z U,则,则XZYZ为为F所蕴含。所蕴含。A3传递律:若传递律:若XY及及YZ为为F所蕴含,则所蕴含,则XZ为为F所蕴含。所蕴含。推论:推论:

13、 合并规则:由合并规则:由XY, XZ,有,有XYZ。 伪传递规则:由伪传递规则:由XY, WYZ,有,有XWZ。 分解规则:由分解规则:由XY及及ZY,有,有XZ。 根据合并规则和分解规则,得到一重要事实:引理1: XA1A2 Ak成立的充分必要条件是XAi成立i= 1,2,k)。定义定义1212:在关系模式:在关系模式 R R中为中为F F所逻辑蕴含的函数依赖的全体叫做所逻辑蕴含的函数依赖的全体叫做F F的闭包,的闭包, 记为记为F+F+。定义定义13:设:设F为属性集为属性集U上的一组函数依赖,上的一组函数依赖, X U,XF+=A| XA能由能由F根据根据Armstrong公理导出公理

14、导出, XF+称为属性集称为属性集X关于函数依赖集关于函数依赖集F的闭包。的闭包。引理引理2:设:设F为属性集为属性集U上的一组函数依赖,上的一组函数依赖,X,Y U, XY能由能由F根据根据 Armstrong公理导出的充分必要条件是公理导出的充分必要条件是 Y XF+ 。算法算法3.1:求属性集:求属性集X( X U )关于)关于U上的函数依赖集上的函数依赖集F的闭包的闭包XF+ 。步骤:令步骤:令X(0)=X,i=0 求求B,这里,这里B=A | ( V) ( W) (V W F V X(i) AW); X(i+1) =B X(i) 判断判断X(i+1) =X(i) 吗?吗? 若相等或若

15、相等或X(i+1) =U,则,则X(i+1) 就是就是XF+ ,算法终止。,算法终止。 若否,则若否,则i=i+1,返回第步。,返回第步。例1 已知关系模式 R,其中U=A,B,C,D,E; F=AB C,B D,C E,EC B,AC B。求ABF+。定义14:如果G+=F+,就说函数依赖集F覆盖GF是G的覆盖,或G是F的覆盖),或F与G等价。引理引理3: F+ = G+的充分必要条件是的充分必要条件是F G+ ,和,和G F+ 。 定义定义15:如果函数依赖集:如果函数依赖集F满足下列条件,则称满足下列条件,则称F为一个极小函数为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。依赖集。亦称

16、为最小依赖集或最小覆盖。 F中任一函数依赖的右部仅含有一个属性。中任一函数依赖的右部仅含有一个属性。 F中不存在这样的函数依赖中不存在这样的函数依赖X A,使得,使得F与与FX A等价。等价。 F中不存在这样的函数依赖中不存在这样的函数依赖X A,X有真子集有真子集Z使得使得 FX A Z A与与 F 等价。等价。例:例:F=A B,B A,B C,A C,C A 求求Fm 。Fm1=A B,B C,C AFm2=A B,B A,A C,C A算法3.2 计算最小函数依赖集。输入:一个函数依赖集F。输出:F的一个等价的最小函数依赖集Fmin。步骤:1用分解规则,是F中的任何一个函数依赖的右部仅

17、含一个属性。2去掉多余的函数依赖:逐一检查F中的各函数依赖XY,并将XY从F中去掉,然后再剩余的函数依赖集F中求属性X的闭包XF+,看XF+是否包含Y,若是,则去掉XY,否则不能去掉。依次做下去,直到找不到冗余的函数依赖。3去掉各个依赖左部多余的属性:一个一个地检查左部非单个属性的函数依赖。例如XYA,要判断Y是否多余,则以XA代替XYA,并判断是否等价。若AXF+,则Y是多余的,可以去掉。4用Armstrong公理或步骤2的方法检查F中是否还有多余的函数依赖,若有则去掉。3.4 3.4 模式的分解模式的分解分解具有分解具有“无损连接性无损连接性”分解要分解要“保持函数依赖保持函数依赖”分解既

18、要分解既要“保持函数依赖保持函数依赖”,又要具有,又要具有“无损连接性无损连接性”。定义定义16:关系模式:关系模式R的一个分解是指的一个分解是指 R1, R2,Rn 其中其中U=Ui,并且没有,并且没有UiUj,1,j n,Fi是是F在在Ui上的投影。上的投影。定义定义17:函数依赖集合:函数依赖集合X Y|X Y F+ XY Ui的一个覆盖的一个覆盖Fi叫做叫做F在属性在属性Ui上的投影。上的投影。一、模式分解的三个定义一、模式分解的三个定义例:已知关系模式R,其中U=SNO ,SDEPT ,MN , F=SNO SDEPT, SDEPT MN。分解:分解: 1R1, R2, R32R1,

19、 R23R1, R2二、分解的无损连接性和保持函数依赖性二、分解的无损连接性和保持函数依赖性定义定义18: R1,Rk是是R的一个分解,若的一个分解,若R的任何一个关系的任何一个关系r均有均有r=m (r)成立,则称分解成立,则称分解具有无损连接性。简具有无损连接性。简称称为无损分解。为无损分解。 算法算法3.3:判别一个分解的无损连接性。:判别一个分解的无损连接性。 R1,Rk是是R的一个分解,的一个分解,U=A1, ,An ,FFD1,FD2, ,FD,F是一极小依赖是一极小依赖集集,记记FDi为为Xi A1i。 建立一张建立一张n列列k行的表。每一列对应一个属性,每一行对应分解中的一个关

20、系行的表。每一列对应一个属性,每一行对应分解中的一个关系 形式。若属性形式。若属性Aj属于属于Ui,则在,则在j列列i行交叉处填上行交叉处填上aj,否则填上,否则填上bij ; 对每一个对每一个FDi做下列操作:找到做下列操作:找到Xi所对应的列中具有相同符号的那些行。考察所对应的列中具有相同符号的那些行。考察这些行中这些行中li列的元素,若其中有列的元素,若其中有ali,则全部改为,则全部改为ali ;否则全部改为;否则全部改为bmli ;m是是 这些行的行号最小值。这些行的行号最小值。 比较扫描前后,表有无变化。如有变化,则返回第步,否则算法终止。比较扫描前后,表有无变化。如有变化,则返回

21、第步,否则算法终止。例:知 R,UA,B,C,D,E,F=AB C,C D,D E,R的一个 分解为R1(A,B,C),R2(C,D),R3(D,E)。 首先构造初始表,如图 A B C D E a1 a2 a3 b14 b15 b21 b22 a3 a4 b25 b31 b32 b33 a4 a5 对AB C,因各元组的第1、2列没有相同的分量,所以表不改变。由C D 可以把b14改为a4 ,再由D E可使b15, b25全改为a5。 A B C D E a1 a2 a3 a4 a5 b21 b22 a3 a4 a5 b31 b32 b33 a4 a5定理:定理: R R的一个分解的一个分解

22、 R1U1R1F1,R2R2具有无损连接性的充具有无损连接性的充 分必要条件是:分必要条件是: U1U2 U1U2 U1 U1U2 U2 F+ F+ 或或 U1U2 U1U2 U2 U2U1 U1 F+ F+ 。算法算法3.4 3.4 无损分解测试算法。无损分解测试算法。输入:关系模式输入:关系模式R RA1,A2, ,AnA1,A2, ,An), ,它的函数依赖集它的函数依赖集F F,以及分解,以及分解=R1,R2, ,Rk=R1,R2, ,Rk。输出:确定是否具有保持函数依赖。输出:确定是否具有保持函数依赖。方法:方法:(1)(1)令令G=G=,F=F-GF=F-G。(2)(2)对于对于F

23、 F中的第一函数依赖中的第一函数依赖XYXY,计算,计算XG+XG+,并令,并令F=F-XYF=F-XY。(3)(3)假设假设 Y Y XG+ XG+。则令。则令Result=FalseResult=False,转向,转向(4)(4)。否则,若。否则,若F F,转向,转向(4), (4), 否否则转向则转向(2)(2)。(4)(4)若若Result=TrueResult=True,则保持函数依赖,否则不保持函数依赖。,则保持函数依赖,否则不保持函数依赖。当关系模式当关系模式R分解为两个关系模式分解为两个关系模式R1,R2时有下面的判定准则。时有下面的判定准则。定义定义1919:若:若F+ F+

24、 ( Fi Fi) ,那么,那么 R R 的分解的分解R1U1R1F1, Rk Rk保持函数依赖。保持函数依赖。 若要求分解保持函数依赖,那么模式分离总可以达到若要求分解保持函数依赖,那么模式分离总可以达到3NF, 但不一定能达到但不一定能达到BCNF; 若要求分解既保持函数依赖,又具有无损连接性,可以达若要求分解既保持函数依赖,又具有无损连接性,可以达 到到3NF,但不一定能达到,但不一定能达到BCNF; 若要求分解具有无损连接性,那一定可达到若要求分解具有无损连接性,那一定可达到4NF;关于模式分解的几个重要事实是:关于模式分解的几个重要事实是:三、模式分解的算法三、模式分解的算法算法算法

25、3.5 3.5 转换为转换为3NF3NF的保持函数依赖的分解的保持函数依赖的分解 对对 R 中的函数依赖集中的函数依赖集F进行进行“极小化处理极小化处理”, 仍记为仍记为F。 找出不在找出不在F中出现的属性,把这样的属性构成一个中出现的属性,把这样的属性构成一个 关系模式。把这些属性从关系模式。把这些属性从U中去掉,剩余的属性仍中去掉,剩余的属性仍 记为记为U。 若有若有 X A F,且,且XA=U,那么,那么 R,算法终,算法终止。止。 否则,对否则,对F按具有相同左部的原则分组假定分为按具有相同左部的原则分组假定分为 k组)组), 每一组函数依赖每一组函数依赖Fi所涉及的全部属性形成所涉及的全部属性形成 一个属性集一个属性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论