关系数据库设计理论精选PPT.ppt

上传人:石*** 文档编号:69580107 上传时间:2023-01-07 格式:PPT 页数:112 大小:3.79MB
返回 下载 相关 举报
关系数据库设计理论精选PPT.ppt_第1页
第1页 / 共112页
关系数据库设计理论精选PPT.ppt_第2页
第2页 / 共112页
点击查看更多>>
资源描述

《关系数据库设计理论精选PPT.ppt》由会员分享,可在线阅读,更多相关《关系数据库设计理论精选PPT.ppt(112页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、关系数据库设计理论第1页,此课件共112页哦4.1 问题的提出 如何设计一个合适的关系数据库系统呢?如何设计一个合适的关系数据库系统呢?关键是关系数据库模式的设计,即应该构造几个关系模式,关键是关系数据库模式的设计,即应该构造几个关系模式,每个关系模式由哪些属性组成,又如何将这些相互关联的关系每个关系模式由哪些属性组成,又如何将这些相互关联的关系模式组建成一个适合的关系框,这些都是决定了整个系统的运模式组建成一个适合的关系框,这些都是决定了整个系统的运行的效率,也是应用系统开发设计成败的因素之一。行的效率,也是应用系统开发设计成败的因素之一。实际上,关系数据库的设计必须在实际上,关系数据库的设

2、计必须在关系数据库规范化理论关系数据库规范化理论的指的指导下进行。导下进行。第2页,此课件共112页哦4.1.1 4.1.1 规范化理论概述规范化理论概述 关系数据库设计理论主要包括三个方面的内容:函数依赖、范式(NormalForm)和模式设计。其中函数依赖起着核心作用,是模式分解和模式设计的基础,范式是模式分解的标准。BACK第3页,此课件共112页哦4.1.2 4.1.2 不合理的关系模式存在的问题不合理的关系模式存在的问题例例1要求设计学生-课程数据库,其关系模式SDC如下:SDC(SNO,SN,AGE,DEPT,MN,CNO,SCORE)其中:SNO表示学生学号 SN表示学生姓名 A

3、GE表示学生年龄 DEPT表示学生所在的系别 MN表示系主任名 CNO表示课程号 SCORE表示成绩。第4页,此课件共112页哦根据实际情况,这些数据有如下语义规定:根据实际情况,这些数据有如下语义规定:1)一个系有若干个学生,但一个学生只属于一个系一个系有若干个学生,但一个学生只属于一个系;即即sno-dept.2)一个系只能有一个系主任,但一个系主任可以同时兼几个一个系只能有一个系主任,但一个系主任可以同时兼几个系的系主任系的系主任;即即dept-mn3)一个学生可以选修多门功课,每门课程可被若干个学生选修一个学生可以选修多门功课,每门课程可被若干个学生选修;4)每个学生学习每门课程有一个

4、成绩。每个学生学习每门课程有一个成绩。即即(sno,cno)-score第5页,此课件共112页哦SNO SN AGE DEPT MN CNO SCORE S1赵红20计算机张文斌C190S1赵红20计算机张文斌C285S2王小明17外语刘伟华C557S2王小明17外语刘伟华C680S2王小明17外语刘伟华C7S2王小明17外语刘伟华C470S3吴小林19信息刘伟华C175S3吴小林19信息刘伟华C270S3吴小林19信息刘伟华C485S4张涛22自动化钟志强C193图4.1关系SDC第6页,此课件共112页哦 在进行数据库的操作时,会出现以下几方面的问题。(1)数据冗余。数据冗余。系名,学生

5、姓名、年龄等等都要重复存储多次(2)插入异常。插入异常。(SNO,CNO)是主键。缺少一个都无法插入数据另外,若学生未选课,同样也不能进行插入操作。(3)删除异常。删除异常。删去学生数据,导致课程及教师信息丢失。如果某个学生不再选修某课程,有关该学生的其他信息也随之丢失。(4)修改异常。修改异常。如果某学生改名,则该学生的所有记录都要逐一修改SN的值;稍有不慎,就有可能漏改某些记录。鉴于存在以上种种问题,我们可以得出这样的结论:鉴于存在以上种种问题,我们可以得出这样的结论:SDC关系模式不关系模式不是一个好的模式。一个是一个好的模式。一个“好好”的模式应当不会发生插入异常、删除异常、的模式应当

6、不会发生插入异常、删除异常、更新异常、数据冗余应尽可能少。更新异常、数据冗余应尽可能少。第7页,此课件共112页哦为什么会发生这些问题呢?为什么会发生这些问题呢?这这是是因因为为这这个个模模式式中中的的函函数数依依赖赖存存在在某某些些不不好好的的性性质质。假设把这个单一的模式改造一下,分解成假设把这个单一的模式改造一下,分解成3 3个关系模式:个关系模式:学生关系学生关系 S(SNO,SN,SN,AGE,DEPT)系关系系关系 D(DEPT,MN)选课关系选课关系 SC(SNO,CNO,SCORE)第8页,此课件共112页哦SSNOSNAGEDEPTS1赵红20计算机S2王小明17外语S3吴小

7、林19信息S4张涛22自动化第9页,此课件共112页哦DDEPTMN计算机张文斌外语刘伟华信息刘伟华自动化钟志强第10页,此课件共112页哦图4.2关系SDC经分解后的三关系S、D与SCSCSNOCNOSCORES1C190S1C285S2C557S2C680S2C7S2C470S3C175S3C270S3C485S4C193第11页,此课件共112页哦 分解后的关系模式集是一个好的关系数据库模式。这三个关系模式都不会发生插入异常、删除异常的毛病,数据冗余也得到了尽可能地控制。但要注意,一个好的关系模式并不是在任何情况下都是最优的,比如查询某个学生选修课程名及所在系的系主任时,要通过连接操作来

8、完成(即由图4.2中的三张表,连接形成图4.1中的一张总表),而连接所需要的系统开销非常大,因此要以实际设计的目标出发进行设计。练习题:练习题:课后选择题课后选择题1第12页,此课件共112页哦4.2.1 4.2.1 函数依赖函数依赖 函数依赖函数依赖 定义定义4.14.1 设关系模式R(U,F),U是属性全集,F是U上的函数依赖集,X和Y是U的子集,如果对于R(U)的任意一个可能的关系r,对于X的每一个具体值,Y都有唯一的具体的值与之对应,则称则称X函数决定函数决定Y,或,或Y函数依函数依赖于赖于X,记,记XY。我们称X为决定因素,Y为依赖因素。当Y不函数依赖于X时,记作:XY。当XY且YX

9、时,则记作:XY。4.2 4.2 规范化规范化第13页,此课件共112页哦 对于关系模式SDC:U=SNO,SN,AGE,DEPT,MN,CNO,SCOREF=SNOSN,SNOAGE,SNODEPT,DEPTMN,SNOMN,(SNO,CNO)SCORE 一个SNO有多个SCORE的值与之对应,因此SCORE不能唯一地确定,即SCORE不能函数依赖于SNO,所以有:SNOSCORE,同样有:CNOSCORE。但是SCORE可以被(SNO,CNO)唯一地确定。所以可表示为:(SNO,CNO)SCORE。第14页,此课件共112页哦练习:练习:设有关系模式:商品设有关系模式:商品(商品编号,商品

10、大类,商品小类,商品名称,单价,商品编号,商品大类,商品小类,商品名称,单价,数量,总价数量,总价),试结合实际,分析该关系模式上可能存在的函数依赖。,试结合实际,分析该关系模式上可能存在的函数依赖。商品编号商品编号商品名称商品名称商品编号商品编号商品小类商品小类商品小类商品小类商品大类商品大类商品编号商品编号单价单价(单价,数量单价,数量)总价总价第15页,此课件共112页哦函数依赖有几点需要说明:(1 1)平凡的函数依赖与非平凡的函数依赖平凡的函数依赖与非平凡的函数依赖 当属性集Y是属性集X的子集时,则必然存在着函数依赖XY,这种类型的函数依赖称为平凡的函数依赖。也可表示为:也可表示为:X

11、 XY,但,但YX X 则称则称X XY是平凡的函数依赖。是平凡的函数依赖。如:在关系SDC中,(SNO,CNO)SNO。如果Y不是X子集,则称XY为非平凡的函数依赖。也可表示为:X XY,但,但YX X 则称则称X XY是非平凡的函数依赖。是非平凡的函数依赖。如:(sno,cno)score 若不特别声明,我们讨论的都是非平凡的函数依赖。(2 2)函数依赖与属性间的联系类型有关函数依赖与属性间的联系类型有关 在一个关系模式中,如果属性X与Y有1:1联系时,则存在函数依赖XY,YX,即XY。例如,当学生没有重名时,例如,当学生没有重名时,SNOSN。第16页,此课件共112页哦 如果属性X与Y

12、有m:1的联系时,则只存在函数依赖XY。例如:SNO与AGE,DEPT之间均为m:1联系,所以有SNOAGE,SNODEPT。如果属性X与Y有m:n的联系时,则X与Y之间不存在任何函数依赖关系。例如:一个学生可以选修多门课程,一门课程又可以为多个学生选修,所以SNO与CNO之间不存在函数依赖关系。由于函数依赖与属性之间的联系类型有关,所以在确定属性间的函数依赖时,可以从分析属性间的联系入手,便可确定属性间的函数依赖。练习题:练习题:课后选择题课后选择题2第17页,此课件共112页哦 (3)(3)函数依赖的语义范畴的概念函数依赖的语义范畴的概念 我们只能根据语义来确定一个函数依赖,而不能按照其形

13、式化定义来证明一个函数依赖是否成立。例如,对于关系模式S,当学生不存在重名的情况下,可以得到:SNAGE、SNDEPT 这种函数依赖关系,必须是在没有重名的学生条件下才成立,否则就不存在函数依赖了。所以函数依赖反映了一种语义完整性约束,是语义的要求。第18页,此课件共112页哦(4)函数依赖关系的存在与时间无关函数依赖关系的存在与时间无关函数依赖是指关系中所有元组应该满足的约束条件,而不是指关系中某个或某些元组所满足的约束条件。例如:对于关系模式S,假设没有给出无重名的学生这种语义规定,则即使当前关系中没有重名的记录,也不能有“SN-AGE、SN-DEPT”,因为在后续的对表S的操作中,可能马

14、上会增加一个重名的学生的,而使这些函数依赖不能成立。所以函数依赖关系的存在与时间无关,而只与数据间的语义规定有关。第19页,此课件共112页哦(5)(5)函数依赖可以保证关系分解的函数依赖可以保证关系分解的无损连接性无损连接性 设R(X,Y,Z),X、Y、Z为不相交的属性集合,如果XY或XZ则有R(X,Y,Z)=RX,YRX,Z,其中RX,Y表示关系R在属性(X,Y)上的投影,即R等于两个分别含决定因素X的投影关系(分别是RX,Y与RX,Z)在X上的自然连接,这样便保证了关系R分解后不会丢失原有的信息,称作关系分解的无损连接性。第20页,此课件共112页哦 例如例如,对于关系模式,对于关系模式

15、S(SNO,SN,AGE,DEPT),有有SNO-SN,SNO-(AGE,DEPT)S(SNO,SN,AGE,DEPT)=S1(SNO,SN)S2(SNO,AGE,DEPT)也就是说,也就是说,S S的两个投影关系的两个投影关系S1S1、S2S2在在SNOSNO上的自然连接上的自然连接可复原关系可复原关系S S。这一性质非常重要,在后面的关系规范化中要用到。这一性质非常重要,在后面的关系规范化中要用到。第21页,此课件共112页哦 函数依赖的基本性质函数依赖的基本性质(1 1)投影性投影性 根据平凡的函数依赖的定义可知,一组属性函数决定它的所有子集。例如,在关系SDC中,(SNO,CNO)SN

16、O和(SNO,CNO)CNO。说明:投影性产生的是平凡的函数依赖,需要时也能使用的。(2 2)扩张性扩张性 若XY且WZ,则(X,W)(Y,Z)。例如,SNO(SN,AGE),DEPTMN,则有(SNO,DEPT)(SN,AGE,MN)。说明:扩张性实现了两函数依赖决定因素与被决定因素的分别合并作用。第22页,此课件共112页哦(3)(3)合并性合并性 若XY且XZ则必有X(Y,Z)。例如,在关系SDC中,SNO(SN,AGE),SNODEPT,则有SNO(SN,AGE,DEPT)。说 明:决 定 因 素 相 同 的 两 函 数 依 赖,它 们 的 被 决 定 因 素 合 并后,函数依赖关系依

17、然保存。(4)(4)分解性分解性 若X(Y,Z),则XY且XZ。很显然,分解性为合并性的逆过程。说明:决定因素能决定全部,当然也能决定全部中的部分。由合并性和分解性,很容易得到以下事实:XA1,A2,,An成立的充分必要条件是XAi(i=1,2,n)成立。第23页,此课件共112页哦3 3完全完全/部分函数依赖和传递部分函数依赖和传递/非传递函数依赖非传递函数依赖定定义义4.24.2 设有关系模式R(U),U是属性全集,X和Y是U的子集,XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖,记作 X f Y。如果对X的某个真子集X,有XY,则称Y对X部分函数依赖(Partia

18、l Functional Dependency),记作 X p Y。例如,在关系模式SDC中,因为SNO SCORE,且CNO SCORE,所以有:(SNO,CNO)f SCORE。而因为有SNOAGE,所以有(SNO,CNO)p AGE。第24页,此课件共112页哦 定定义义4.34.3 设有关系模式R(U),U是属性全集,X,Y,Z是U的子集,若XY,(Y X),但Y X,而YZ则 称 Z对X传 递 函 数 依 赖(Transitive Functional Dependency),记作:X t Z。注意:如果有YX,则X Y,这时称Z对X直接函数依赖,而不是传递函数依赖。传递函数依赖传递

19、函数依赖如:如:关系模式SDC中,SNO-DEPT,但DEPTSNO,而DEPTMN,则有SNOtMN。当学生不存在重名的情况下,有SNOSN,SNSNO,SNOSN,SNDEPT,这时DEPT对SNO是直接函数依赖,而不是传递函数依赖。第25页,此课件共112页哦练习题:练习题:课后选择题课后选择题5由F=ABC,DCE,DB由投影性可知ABCACBCDCEDECEDB再由传递函数依赖关系可知AEDE再由合并性可知ADE练习题:练习题:课后选择题课后选择题8第26页,此课件共112页哦4.2.2 4.2.2 码码 在第2章中已给出有关码的概念。这里用函数依赖的概念来定义码。定义定义4.44.

20、4 设K K为R(U,F)中的属性或属性集合,若K K f f U则K K为R R的候选码(或候选关键字或候选键)候选码(或候选关键字或候选键)(Candidate key)。若候选码多于一个,则选定其中的一个为主码主码(或称主键,Primary key)。第27页,此课件共112页哦 包含在任何一个候选码中的属性,叫做主属性主属性。不包含在任何候选码中的属性称为非主非主属性属性或非码属性。在最简单的情况,单个属性是码。最极端的情况,整个属性组U是码,称为全码全码(All-key)。如在关系模式S(SNO,DEPT,AGE)中SNO是码,而在关系模式SC(SNO,CNO,SCORE)中属性组合

21、(SNO,CNO)是码。第28页,此课件共112页哦 关系模式TCS(T,C,S),属性T表示教师,C表示课程,S表示学生。一个教师可以讲授多门课程,一门课程可有多个教师讲授,一个学生可以选听多门课程,一门课程可 被多个学生选听。教师T,课程C,学生S之间是多对多关系,单个属性T、C、S或两个属性组合(T,C)、(T,S)、(C,S)等均不能完全决定整个属性组U,只有(T,C,S)U,所以这个关系模式的码为(T,C,S),即All-keyAll-key。下面举个全码的例子下面举个全码的例子:第29页,此课件共112页哦 找出已知关系模式找出已知关系模式R R(U U,F F)的所有候选)的所有

22、候选键的方法:键的方法:1 1、查查看看函函数数依依赖赖集集F F中中的的每每个个形形如如X Xi iYYi i的的(i=1,ni=1,n)函函数数依依赖赖关关系系。看看哪哪些些属属性性在在所所有有Y Yi i(i=1,ni=1,n)中中没没有有出出现过,现过,设没出现过的属性集为设没出现过的属性集为P P(P=U-YP=U-Y1 1-Y-Y2 2-Y-Yn n)。)。则当则当P=P=(表示空集)时,转(表示空集)时,转4 4 当当PP时,转时,转2 2。2 2、根据候根据候选键选键的定的定义义,候,候选键选键中中应应必必含含P P(因(因为为没有其它属没有其它属性能决定性能决定P P)。考察

23、)。考察P:P:若有若有P P f f U U成立,成立,则则P P为为候候选键选键,并且候,并且候选键选键只有一个只有一个P,P,转转5 5结结束束若若P P f f U U不成立,不成立,则转则转3 3。第30页,此课件共112页哦 3 3、P P可以分别与可以分别与U-PU-P中的每一个属性合并,形成中的每一个属性合并,形成P P1 1,P P2 2,P Pm m。再分别判断。再分别判断P Pj j f f U U(j=1,mj=1,m)是否成立?能成立则找到了一个候选键,没有则放弃。是否成立?能成立则找到了一个候选键,没有则放弃。合并一个属性若不能找到或不能找全候选键,可进一步合并一个

24、属性若不能找到或不能找全候选键,可进一步考虑考虑P P与与U-PU-P中的两个(或三个,四个,中的两个(或三个,四个,)属性的)属性的所有组合分别进行合并,继续判断分别合并后的各属性所有组合分别进行合并,继续判断分别合并后的各属性组对组对U U的完全函数决定情况的完全函数决定情况;如此直到找出;如此直到找出R R的所有的所有候选键为止。转候选键为止。转5 5结束。(需要提醒的是:如若属性组结束。(需要提醒的是:如若属性组K K已有已有K K f f U U,则完全不必去考察含,则完全不必去考察含K K的其它属性组合了,的其它属性组合了,显然它们都不可能再是候选键了)。显然它们都不可能再是候选键

25、了)。第31页,此课件共112页哦 4 4、若若P=P=,则则可可以以先先考考察察X Xi iYYi i(i=1,ni=1,n)中中的的单单个个X Xi i,判判断断是是否否有有X Xi i f f U U?若若成成立立则则X Xi i为为候候选选键键。剩剩下下不不是是候候选选键键的的X Xi i,可可以以考考察察它它们们两两个个或或多多个个的的组组合合,查查看看其其是是否否能能完完全全函数决定函数决定U U,从而找出其它还有可能的候选键。转,从而找出其它还有可能的候选键。转5 5结束。结束。5 5、本方法结束。本方法结束。也可以用也可以用Armstrong公理来求候选码公理来求候选码第32页

26、,此课件共112页哦4.3 4.3 数据依赖的公理系统数据依赖的公理系统*数据依赖的公理系统是模式分解算法的理论基础,数据依赖的公理系统是模式分解算法的理论基础,下面先讨论函数依赖的一个有效而完备的公理系统下面先讨论函数依赖的一个有效而完备的公理系统ArmstrongArmstrong公理系统。公理系统。定义定义4.124.12 对于满足一组函数依赖对于满足一组函数依赖F F的关系模式的关系模式R R(U U,F F),其),其任何一个关系任何一个关系r r,若函数依赖,若函数依赖XYXY都成立(即都成立(即r r中任意两中任意两元组元组t,st,s,若,若tX=sXtX=sX,则,则tY=s

27、YtY=sY),则称),则称F F逻辑蕴逻辑蕴涵涵XYXY。为了求得给定关系模式的码,为了从一组函数依赖为了求得给定关系模式的码,为了从一组函数依赖求得蕴涵的函数依赖,例如已知函数依赖集求得蕴涵的函数依赖,例如已知函数依赖集F F,要问,要问XYXY是否为是否为F F所蕴含,就需要一套推理规则,这组推理规则是所蕴含,就需要一套推理规则,这组推理规则是19741974年首先由年首先由ArmstrongArmstrong提出来的。提出来的。BACK第33页,此课件共112页哦ArmstrongArmstrong公理系统公理系统 设设U U为属性集总体,为属性集总体,F F是是U U上的上的一组函数

28、依赖,于是有关系模式一组函数依赖,于是有关系模式R R(U,FU,F)。对)。对R R(U,FU,F)来说有以下的推理规则:)来说有以下的推理规则:l lA1 A1 自反律自反律(ReflexivityReflexivity):若):若Y YX X U U,则,则 XYXY为为F F所蕴含。所蕴含。l lA2 A2 增广律增广律(AugmentationAugmentation):若若XYXY为为F F所蕴所蕴 含,且含,且Z Z U U,则,则XZYZXZYZ为为F F所蕴含。所蕴含。l lA3 A3 传递律传递律(TransitivityTransitivity):若若XYXY及及YZYZ

29、为为F F所含,则所含,则XZXZ为为F F所蕴含。所蕴含。注意:注意:由自反律所得到的函数依赖均是平凡的由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于函数依赖,自反律的使用并不依赖于F F。第34页,此课件共112页哦 根据根据A1A1,A2A2,A3A3这三条推理规则可以得到下面很有这三条推理规则可以得到下面很有用的推理规则:用的推理规则:l l合并规则合并规则:由:由XYXY,XZXZ,XYZXYZ。l l伪传递规则伪传递规则:由:由XYXY,WYZWYZ,有,有XWZXWZ。l l分解规则分解规则:由:由XYXY及及Z ZY Y,有,有XZXZ。根据合并规则和分解规

30、则,很容易得到这样一个重要事实:根据合并规则和分解规则,很容易得到这样一个重要事实:引理引理4.14.1 XA XA1 1A A2 2AAK K成立的充分必要条件是成立的充分必要条件是XAXAi i成立成立 (i=1i=1,2 2,kk)。)。定义定义4.134.13 在关系模式在关系模式R R(U U,F F)中为)中为F F所蕴含的函数依赖的全所蕴含的函数依赖的全 体叫做体叫做F F的闭包,记为:的闭包,记为:F F+。第35页,此课件共112页哦定义定义4.144.14 设设F F为属性集为属性集U U上的一组函数依赖,上的一组函数依赖,X X包含于包含于U U,X XF F+=A|XA

31、=A|XA能由能由F F根据根据ArmstrongArmstrong公理导出公理导出,成为,成为属性集属性集X X关于函数依赖集关于函数依赖集F F的闭包的闭包。引理引理4.24.2 设设F F为属性集为属性集U U上的一组函数依赖,上的一组函数依赖,X X,Y Y包含于包含于U U,XYXY能由能由F F根据根据ArmstrongArmstrong公理导出的充分必要条件是公理导出的充分必要条件是Y Y包包含于含于X XF F+。于是,判定于是,判定XYXY是否能由是否能由F F根据根据ArmstrongArmstrong公理推导公理推导出的问题,就转化为求出出的问题,就转化为求出X XF F

32、+的子集的问题。这个问题由的子集的问题。这个问题由算法算法4.14.1解决了。解决了。第36页,此课件共112页哦 算算法法4.1 4.1 求求属属性性集集X X(X XU U)关关于于U U上上的的函函数数依依赖赖集集 F F的闭包的闭包X XF F+输入:输入:X X,F F 输出:输出:X XF F+步骤:步骤:(1)(1)令令X X(0)(0)=X=X,i=0i=0 (2)(2)求求B B,这里,这里 B=A|(B=A|(V V)(W W)()(VWFVVWFVX X(i)(i)AWAW);(3)X(3)X(i+1)(i+1)=B X=B X(i)(i)(4)(4)判断判断 X X(i

33、+1)(i+1)=X=X(i)(i)吗?吗?(5)(5)若相等或若相等或X X(i+1)(i+1)=U=U,则,则X X(i+1)(i+1)就是就是X XF F+,算法终止。,算法终止。(6)(6)若否,则若否,则i=i+1,i=i+1,返回第(返回第(2 2)步。)步。第37页,此课件共112页哦 例例88 已知关系模式已知关系模式R R(U U,F F),),其中其中U=AU=A,B B,C C,D D,EE;F=ABCF=ABC,BDBD,CECE,ECBECB,ACBACB。求求(AB)(AB)F F+。解解 由算法由算法4.14.1,设,设X X(0)(0)=AB=AB;计算计算X

34、X(1)(1);逐一扫描;逐一扫描F F集合中各个函数依赖,找左部集合中各个函数依赖,找左部为为A A,B B或或ABAB的函数依赖。得到两个:的函数依赖。得到两个:ABCABC,BDBD。于是。于是X X(1)(1)=ABCD=ABCD=ABCD=ABCD。因为因为X X(0)(0)X X(1)(1),所以再找出左部为,所以再找出左部为ABCDABCD子集的那些子集的那些函数依赖,又得到函数依赖,又得到CECE,ACBACB,于是,于是X X(2)(2)=X=X(1)(1)BE=ABCDE BE=ABCDE。因为因为X X(2)(2)已等于全部属性的集合,所以已等于全部属性的集合,所以(AB

35、)(AB)F F+=ABCDE=ABCDE。所以可知所以可知R只有一个候选键是只有一个候选键是AB。第38页,此课件共112页哦练习练习1设关系模式设关系模式R(A,B,C,D,E),F=ACD,BCE,DB,EA为为R上的函数上的函数依赖集,试求依赖集,试求R上的所有候选键。上的所有候选键。R上的候选键有上的候选键有A、BC、E。分析:属于分析:属于P=情况情况设设X(0)=A;由于由于A-CDX(1)=ACD;由于由于D-BX(2)=ABCD;由于由于BC-EX(3)=ABCDE所以所以(A)F+=ABCDE。X(0)=BC;由于由于BC-EX(1)=BCE;由于由于E-AX(2)=ABC

36、E;由于由于A-CDX(3)=ABCDE所以所以(BC)F+=ABCDE。第39页,此课件共112页哦X(0)=E;由于由于E-AX(1)=AE;由于由于A-CDX(2)=ACDE;由于由于D-BX(3)=ABCDE所以所以(E)F+=ABCDE。X(0)=D;由于由于D-BX(1)=BD;所以所以(D)F+=BD。所以所以R的候选码有的候选码有A、BC、E。练习练习1设关系模式设关系模式R(A,B,C,D,E),F=ACD,BCE,DB,EA为为R上的函数依上的函数依赖集,试求赖集,试求R上的所有候选键。上的所有候选键。第40页,此课件共112页哦练习练习2课后题三(课后题三(6)设设R(A

37、,B,C,D,E,F),函数依赖集函数依赖集F=ABE,ACF,ADB,BC,CDR上的候选键有上的候选键有AB、AC、AD。分析:属于分析:属于P情况情况设设X(0)=A;所以所以(A)F+=A。X(0)=AB;由于由于AB-EX(1)=ABE;由于由于B-CX(2)=ABCE;由于由于AC-F,C-DX(3)=ABCDEF所以所以(AB)F+=ABCDEF。第41页,此课件共112页哦X(0)=AD;由于由于AD-BX(1)=ABD;由于由于B-CX(2)=ABCD;由于由于AC-F,AB-EX(3)=ABCDEF所以所以(E)F+=ABCDEF。X(0)=AC;由于由于AC-FX(1)=

38、ACF;由于由于C-DX(2)=ACDF;由于由于AD-BX(3)=ABCDF;由于由于AB-EX(4)=ABCDEF所以所以(AC)F+=ABCDEF。所以所以R的候选码有的候选码有AB、AD、AC。练习练习2课后题三(课后题三(6)设设R(A,B,C,D,E,F),函数依赖集函数依赖集F=ABE,ACF,ADB,BC,CD第42页,此课件共112页哦练习练习3设设R(A,B,C,D,E),函数依赖集函数依赖集F=ABC,ABE,AD,BDACER上的候选键有上的候选键有AB和和BD。分析:属于分析:属于P且且PfU不成立情况不成立情况设设X(0)=B;所以所以(B)F+=B。X(0)=AB

39、;由于由于AB-C,AB-E,A-DX(1)=ABCDE;所以所以(AB)F+=ABCDE。X(0)=BD;由于由于BD-ACEX(1)=ABCDE所以所以(BD)F+=ABCDEF。所以所以R的候选码有的候选码有AB、BD。第43页,此课件共112页哦练习练习4设设R(A,B,C,D,E),根据所给的函数依赖集,示根据所给的函数依赖集,示R的所有候选键。的所有候选键。(1)函数依赖集函数依赖集F=AB,CD,EA.(2)F=BCA,ABC,ECD;(3)F=BCDE,AB,CD(1)CE(2)EA、EBC(3)A第44页,此课件共112页哦 定义定义4.54.5 关系模式关系模式R R中属性

40、或属性组中属性或属性组X X并非并非R R的主码,但的主码,但X X是另是另外一个关系模式外一个关系模式S S的主码,则称的主码,则称X X是是R R的外部码或外部关系的外部码或外部关系键(键(Foreign KeyForeign Key),也称),也称外码外码。如如在在SCSC(SNOSNO,CNOCNO,SCORESCORE)中,单)中,单SNOSNO不是主码,不是主码,但但SNOSNO是关系模式是关系模式S S(SNOSNO,SNSN,SEXSEX,AGEAGE,DEPTDEPT)的主)的主码,则码,则SNOSNO是是SCSC的外码。的外码。主码与外码提供了一个表示关系间联系的手段。如主

41、码与外码提供了一个表示关系间联系的手段。如关系模式关系模式S S与与SCSC的联系就是通过的联系就是通过SNOSNO这个在这个在S S中是主码又在中是主码又在SCSC中是外码的属性来体现的。中是外码的属性来体现的。第45页,此课件共112页哦4.2.3 4.2.3 范式范式 关系数据库的规范化过程中为不同程度的规范化要求设立的不同的标准或准则称为范式(范式(Normal FormNormal Form)。满足最低要求的叫第一范式第一范式,简称简称1NF。在第一范式中满足进一步要求的为第二范式(2NF),其余以此类推。R为第几范式就可以写成RxNF(x表示某范式名)。第46页,此课件共112页哦

42、各个范式之间的集合关系可以表示为:5NF4NF BCNF 3NF 2NF 1NF图4.3各范式之间的关系多值依赖多值依赖连接依赖连接依赖函数依赖函数依赖第47页,此课件共112页哦 一个低一级范式的关系模式,通过模式分解一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,可以转换为若干个高一级范式的关系模式的集合,这种过程就叫这种过程就叫规范化规范化。第48页,此课件共112页哦4.2.4 4.2.4 第一范式第一范式 第一范式(First Normal Form)是最基本的规范化形式,即关系中每个属性都是不可再分的简单项关系中每个属性都是不可再分的简单项。定义定

43、义4.64.6 如果关系模式R所有的属性均为简单属性,即每个属性都是不可再分的,则称R属于第一范式,简称1NF,记作R1NF。在关系数据库系统中只讨论规范化的关系,凡是非规范化的关系模式必须转化成规范化的关系。在非规范化的关系中去掉组合项就能转化成规范化的关系。每个规范化的关系都是属于1NF。第49页,此课件共112页哦 例例2 如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:一是重复存储职工号和姓名。这样关键字是职工号与电话号码的组合。关系模式为:职工(职工号,姓名,电话号码)。二是职工号为关键字,电话号码分为单位电话和住宅电话两个

44、属性。关系模式为:职工(职工号,姓名,单位电话,住宅电话)。三是职工号为关键字,但强制每条记录只能有一个电话号码。关系模式为:职工(职工号,姓名,电话号码)。以上三个方法,可按实际情况选取使用。第50页,此课件共112页哦4.2.5 4.2.5 第二范式第二范式1第二范式的定义第二范式的定义定义定义4.7 4.7 如果关系模式R1NF,R(U,F)中的所有非主属所有非主属性都性都完全函数依赖完全函数依赖于任意一个候选关键字于任意一个候选关键字,则称关系R 是属于第二范式(Second Normal Form),简称2NF,记作R2NF。从定义可知,满足第二范式的关系模式R中,不可能有某非主属性

45、对某候选关键字存在部分函数依赖。下面让我们来分析下4.1.2节中给出的关系模式SDC。第51页,此课件共112页哦 在关系模式在关系模式SDCSDC中,它的关系键是(中,它的关系键是(SNOSNO,CNOCNO)的属性组合,函数依赖)的属性组合,函数依赖关系有:关系有:(SNO,CNO)fSCORESNOSN,(,(SNO,CNO)pSNSNOAGE,(,(SNO,CNO)pAGESNODEPT,(,(SNO,CNO)pDEPT,DEPTMNSNOtMN,(SNO,CNO)p p MN 我们可以用函数依赖图表示以上函数依赖关系,如图我们可以用函数依赖图表示以上函数依赖关系,如图4.44.4所示

46、。所示。由关键字的定义可知由关键字的定义可知SGDSGD中的关键字为中的关键字为(SNO,CNO),(SNO,CNO),因此因此SNSN、AGEAGE、DEPTDEPT、MNMN均均为非主属性,而非主属性中只有成绩是完全函数依赖于主关键字,其他属性是部为非主属性,而非主属性中只有成绩是完全函数依赖于主关键字,其他属性是部分函数依赖于主关键字,因此,关系模式分函数依赖于主关键字,因此,关系模式SDGSDG不符合不符合2NF2NF的定义,这种情况往的定义,这种情况往往在数据库中是不允许的,也正是由于关系中存在着复杂的函数依赖,往在数据库中是不允许的,也正是由于关系中存在着复杂的函数依赖,才导致数据

47、操作中出现了数据冗余、插入异常、删除异常、修改异常等才导致数据操作中出现了数据冗余、插入异常、删除异常、修改异常等弊端。弊端。第52页,此课件共112页哦图4.4SDC中函数依赖图SCORESNOCNOAGESNMNDEPTptpppf第53页,此课件共112页哦2.2NF的规范化的规范化 2NF2NF规范化是指把规范化是指把1NF1NF关系模式通过投影分解,消除关系模式通过投影分解,消除非主属性对候选关键字的非主属性对候选关键字的部分部分函数依赖,函数依赖,转换成转换成2NF2NF关系关系模式的集合的过程。模式的集合的过程。分解时遵循的原则是分解时遵循的原则是“一事一地一事一地”,让一个关系

48、只描述,让一个关系只描述一个实体或实体间的联系。如果多于一个实体或联系,一个实体或实体间的联系。如果多于一个实体或联系,则进行投影分解。则进行投影分解。据此我们可以将关系模式据此我们可以将关系模式SDCSDC分解成两个关系模式:分解成两个关系模式:SDSD(SNOSNO,SNSN,AGEAGE,DEPTDEPT,MNMN),描述学生实体),描述学生实体 SCSC(SNOSNO,CNOCNO,SCORESCORE),描述学生与课程的联系。),描述学生与课程的联系。第54页,此课件共112页哦 对对于于分分解解后后的的关关系系模模式式SDSD的的码码为为SNOSNO,关关系系模模式式SCSC的的候

49、候选选关关键键字字为为(SNOSNO,CNOCNO),非非主主属属性性对对候候选选关关键键字字均均是是完完全全函函数数依依赖赖的的,这这样样就就消消除除了了非非主主属属性性对对候候选选关关键键字字的的部部分分函函数数依依赖赖。即即SD2NFSD2NF,SC2NFSC2NF,它它们们之之间间通通过过SC中中的的外外键键SNO相相联联系系,需需要要时时再再进进行行自自然然联联接接,能能恢恢复复成成原原来来的的关关系系,这这种种分分解不会丢失任何信息,具有无损连接性。解不会丢失任何信息,具有无损连接性。分解后的函数依赖图如图分解后的函数依赖图如图4.54.5和和4.64.6所示。所示。第55页,此课

50、件共112页哦 图4.5SD中的函数依赖关系图图4.6SC中的函数依赖关系SNOSNMNAGEDEPTSNOCNOSCORE第56页,此课件共112页哦 注注意意:如如果果R R的的候候选选关关键键字字均均为为单单属属性性,或或R R的的全全体体属属性均为主属性,则性均为主属性,则R2NFR2NF。例如,在讲述全码的概念时给出的关系模式TCS(T,C,S),(T,C,S)三个属性的组合才是其唯一的候选关键字即关系键,T,C,S均是主属性,不存在非主属性,所以也不可能存在非主属性对候选关键字的部分函数依赖,因此TCS2NF。第57页,此课件共112页哦4.2.6 4.2.6 第三范式第三范式1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁