第7章数据库规范化设计

上传人:沈*** 文档编号:191772746 上传时间:2023-03-04 格式:PPT 页数:62 大小:841KB
返回 下载 相关 举报
第7章数据库规范化设计_第1页
第1页 / 共62页
第7章数据库规范化设计_第2页
第2页 / 共62页
第7章数据库规范化设计_第3页
第3页 / 共62页
点击查看更多>>
资源描述
数据库数据库原理与应用原理与应用第七章关系数据的规范化设计第七章关系数据的规范化设计数据库数据库原理与应原理与应用用数据库数据库原理与应用原理与应用7.1 关系模式的设计的问题关系模式的设计的问题1、当用户给定了一组数据后,应该构成几、当用户给定了一组数据后,应该构成几个关系,每个关系应由哪些属性组成,这个关系,每个关系应由哪些属性组成,这个问题是一个个问题是一个DB设计问题,确切地讲是设计问题,确切地讲是DB的逻辑设计问题。的逻辑设计问题。2、由于关系模型有严格的数学理论基础,、由于关系模型有严格的数学理论基础,并且可以向其他模型进行转换,故以关系并且可以向其他模型进行转换,故以关系模型为背景进行这个问题的讨论,也就形模型为背景进行这个问题的讨论,也就形成了成了DB逻辑设计的一个有力工具逻辑设计的一个有力工具关系关系数据库的规范化理论。数据库的规范化理论。7.1 关系模式的设计的问题关系模式的设计的问题 数据库数据库原理与应用原理与应用3、对于一个现实问题,在不同的时刻关系、对于一个现实问题,在不同的时刻关系模式的关系(值)也会有变化,但现实世模式的关系(值)也会有变化,但现实世界中许多已知的事实又限定了关系模式的界中许多已知的事实又限定了关系模式的所有可能的关系必须满足一个的完整性约所有可能的关系必须满足一个的完整性约束条件,这些约束或者通过对属性值的限束条件,这些约束或者通过对属性值的限定,或者通过属性间的属性值的相互关系定,或者通过属性间的属性值的相互关系(称为数据依赖,是语意范畴)反映出来(称为数据依赖,是语意范畴)反映出来,这就是数据模式设计的关键。,这就是数据模式设计的关键。4、数据依赖、数据依赖前面讲过:前面讲过:R (U,D,DOM,F)关系关系 属性属性 域域 属性属性域的影射数据依赖域的影射数据依赖本章讨论本章讨论R(U、F)7.1 关系模式的设计的问题关系模式的设计的问题 数据库数据库原理与应用原理与应用数据依赖:数据依赖:函数依赖(函数依赖(Functional Dependency)FD 多值依赖(多值依赖(Multivalued Dependency)MD 联接依赖(联接依赖(Join Denpendency)JDFD是重点,顾名思义,同数学中的函数,如是重点,顾名思义,同数学中的函数,如Y=f(x)5、对于任一个不考虑、对于任一个不考虑FD的关系模式会的关系模式会有什么不当之处?有什么不当之处?7.1 关系模式的设计的问题关系模式的设计的问题 数据库数据库原理与应用原理与应用7.1 关系模式的设计的问题关系模式的设计的问题 在该关系中:在该关系中:例例7-1:R(SNO,CNO,GRADE,SD,MN)USNO,CNO,GRADE,SD,MN 已知函数依赖:已知函数依赖:F SNOSD,SDMN,(SNO,CNO)GRADE 数据库数据库原理与应用原理与应用7.1 关系模式的设计的问题关系模式的设计的问题 如有一系刚成立,尚无学生如有一系刚成立,尚无学生则系名,系主任无法加入则系名,系主任无法加入如有一门新课,尚无人选如有一门新课,尚无人选则无法加入则无法加入如有一学生尚无选择课如有一学生尚无选择课则无法加入则无法加入插入异常插入异常数据库数据库原理与应用原理与应用7.1 关系模式的设计的问题关系模式的设计的问题 如只有一学生选过某课,而现在毕业(不如只有一学生选过某课,而现在毕业(不选)选)则该课被删除,不存在则该课被删除,不存在如某系的学生全毕业如某系的学生全毕业则该系不存在则该系不存在删除异常删除异常数据库数据库原理与应用原理与应用7.1 关系模式的设计的问题关系模式的设计的问题 系名,系主任,(系名,系主任,(SD,MN)的存储次数)的存储次数同该系的学生的选课人次有关。同该系的学生的选课人次有关。即:浪费存储,又要付出代价来维护。即:浪费存储,又要付出代价来维护。则会减少上述的问题,则会减少上述的问题,但这也是通过经验但这也是通过经验分解,是否有理论来支持这一分解呢?分解,是否有理论来支持这一分解呢?本节结束本节结束冗余太大冗余太大如果如果R(SNO,CNO,GRADE,SD,MN)分解为)分解为:R1(SNO,CNO,GRADE)R2(SNO,SD)R3(SD,MN)数据库数据库原理与应用原理与应用7.2 规范化规范化1971年,年,EFCodd提出该理论,即使提出该理论,即使数据库设计走向完备的规范化理论。数据库设计走向完备的规范化理论。一般按属性间的依赖情况来区分。一般按属性间的依赖情况来区分。分为:分为:1NF,2NF,3NF本章的一些符号约定:本章的一些符号约定:英文单个首部大写字母英文单个首部大写字母“A、B、C、D、E、”代表单个属性。代表单个属性。英文单个尾部大写字母,英文单个尾部大写字母,“U、V、W、X、Y、Z”代表属性集。代表属性集。7.2 规范化规范化 数据库数据库原理与应用原理与应用 大写字母大写字母R代表关系模式,小字字母代表关系模式,小字字母r代代表其关系(值),也用属性名组合的方表其关系(值),也用属性名组合的方式表示关系模式。如属性有式表示关系模式。如属性有A、B、C,则可用则可用ABC表示该关系模式。表示该关系模式。属性集属性集A1,A2,An写为写为A1,An 属性集属性集XY 写为写为XY 属性集属性集XA写为写为XA7.2 规范化规范化 数据库数据库原理与应用原理与应用1.定义:定义:设设R(U)是属性集)是属性集U上的关系模式,上的关系模式,X、Y是是U的子集,若对的子集,若对R(U)的任意一个可)的任意一个可能的关系能的关系r,r中不可能存在两个元组在中不可能存在两个元组在X上属性值相等,而在上属性值相等,而在Y上属性值不等。(上属性值不等。(当当t X=s X时,时,t Y=s Y)则)则X函数决函数决定定Y,或,或Y函数依赖函数依赖X,记作,记作XY2.语义范畴:语义范畴:例:例:SNOSEX,SNAMESEX(当有同名时,则(当有同名时,则SNAMESEX)7.2.1 函数依赖(函数依赖(FD)7.2 规范化规范化 数据库数据库原理与应用原理与应用7.2.1 函数依赖(函数依赖(FD)若若Y不不FD于于X,则,则X3.一些术语和记号一些术语和记号 XY,但,但Y X,则称,则称XY是非平凡的是非平凡的FD。XY,Y X,则,则 XY称平凡的称平凡的FD。XY中,中,X为决定因素为决定因素。XY,YX,则,则XY。Y。数据库数据库原理与应用原理与应用4.定义定义:在在R(U)中,如果)中,如果XY,并对,并对X的任一真子集的任一真子集X,都有,都有XY,则,则Y对对X是完全函数依赖是完全函数依赖,记作记作X F Y。7.2.1 函数依赖(函数依赖(FD)若若XY,但,但Y不完全不完全FD于于X,则称,则称Y对对X部分函数依赖,记作:部分函数依赖,记作:X P Y数据库数据库原理与应用原理与应用例例7-2:R(SNO,CNO,GRADE,SD,MN)因为因为 SNO GRADE CNO GRADE所以(所以(SNO,CNO)F GRADE(SNO,CNO)SD,因为,因为SNOSD 所以(所以(SNO,CNO)P SD已知:已知:FSNOSD,SDMN,(SNO,CNO)GRADE7.2.1 函数依赖(函数依赖(FD)数据库数据库原理与应用原理与应用5.定义:定义:7.2.1 函数依赖(函数依赖(FD)在在R(U)中,如果)中,如果XY,(,(Y X),),YZ则称则称Z传递函数依赖于传递函数依赖于X。记作:记作:X 传递传递 Y例例7-3:R(SNO,CNO,GRADE,SD,MN)已知:已知:FSNOSD,SDMN,(SNO,CNO)GRADE因为:因为:SNOSD,SDMN 则:则:SNO 传递传递 MN数据库数据库原理与应用原理与应用7.2.1 函数依赖(函数依赖(FD)6.FD的推理规则:的推理规则:1974年由年由Armstrong提出的。设提出的。设U为属性为属性集总体,集总体,F是是U上的一组函数依赖,则有以上的一组函数依赖,则有以下的推理规则:下的推理规则:A6 分解律:分解律:XY,Z Y,则,则 XZ A1 自反律:自反律:Y X U 则则XY A2 增广律:增广律:XY,Z U,则,则 XZYZ A3 传递律:传递律:XY,YZ,则,则 XZ A4 合并律:合并律:XY,XZ,则,则XYZ A5 伪传递律:伪传递律:XY,W YZ,则,则 WXZ数据库数据库原理与应用原理与应用1.关系为什么要进行规范化。关系为什么要进行规范化。2.规范化规范化理论。理论。码码7.2.2数据库数据库原理与应用原理与应用1.关系模式规范化的意义何在?关系模式规范化的意义何在?数据库数据库原理与应用原理与应用1.定义定义:候选码:设候选码:设K为为R(U,F)中的属性或属性)中的属性或属性集,若集,若K F U,则,则K为为R的候选码。的候选码。主码:候选码多于一个,选定一个为主码。主码:候选码多于一个,选定一个为主码。主属性:包含在候选码中的属性为主属性。主属性:包含在候选码中的属性为主属性。非主属性:不包含在候选码中的属性为非非主属性:不包含在候选码中的属性为非主属性。主属性。全码:所有属性的组合为码,称为全码。全码:所有属性的组合为码,称为全码。如如R(P,W,A)演员演员 作品作品 观众观众7.2.2 码码7.2 规范化规范化 数据库数据库原理与应用原理与应用码码7.2.2例例7-4:求求R(SNO,CNO,GRADE,SD,MN)的码。的码。已知:已知:USNO,CNO,GRADE,SD,MN函数依赖函数依赖FSNOSD,SDMN,(SNO,CNO)GRADE数据库数据库原理与应用原理与应用解:该题即解解:该题即解?F U 已知:已知:SNOSD 据据A2:(SNO,CNO)SD,CNO 据据A6:(SNO,CNO)SD 已知:已知:SNOSD,SDMN 据据A3:SNOMN;据据A2:(SNO,CNO)MN,CNO据据A6:(SNO,CNO)MN 据据A1:(SNO,CNO)SNO,CNO 码码7.2.2数据库数据库原理与应用原理与应用已知:已知:(SNO,CNO)GRADE 据据A4:合并:合并(SNO,CNO)SNO,CNO,GRADE,SD,MN因为因为SNO和和CNO单独都不能函数决定单独都不能函数决定U。(SNO,CNO)F SNO,CNO,GRADE,SD,MN故故(SNO,CNO)是是R的码。的码。码码7.2.2数据库数据库原理与应用原理与应用码码7.2.2 关系模式关系模式R中属性或属性集中属性或属性集X并非并非R的码的码,但,但X是另外一个关系模式的码,则称是另外一个关系模式的码,则称X是是R的外码。的外码。例:例:SC(SNO,CNO,GRADE),),S(SNO,SNAME,SEX,AGE)则则SC中中SNO为其外码。为其外码。2.定义:定义:数据库数据库原理与应用原理与应用 以更单纯,结构更规则的关系逐以更单纯,结构更规则的关系逐步取代原有关系的过程(其过程是一个步取代原有关系的过程(其过程是一个模式分解的过程)。模式分解的过程)。在规范化过程中所产生的满足不同在规范化过程中所产生的满足不同的约束条件的关系的结构,称为第的约束条件的关系的结构,称为第N范式范式(Normal Form)。)。1NF,2NF,3NF,BCNF,4NF,5NF(PJNF)投影联接)投影联接 范式间关系式:范式间关系式:1NF2NF3NFBCNF4NF5NF7.2 规范化规范化 7.2.3 范式范式1.规范化:规范化:2.范式:范式:范式为:范式为:数据库数据库原理与应用原理与应用7.2 规范化规范化 1.定义:定义:如果关系模式如果关系模式R的每一个属性值都是不的每一个属性值都是不可分的原子值,那么称可分的原子值,那么称R是第是第1范式,记范式,记作作R1NF。例例4-5:SNO CNO G G1G2G3SC1809095S1C2607080S2C3706050出现了嵌套出现了嵌套7.2.41NF数据库数据库原理与应用原理与应用1NF7.2.4 SNOCNO G S1 C180C290 S2C190C370C260出现了重复组。出现了重复组。1NF是关系模式应具备的最起码的条件是关系模式应具备的最起码的条件。例例7-6:数据库数据库原理与应用原理与应用7.2 规范化规范化 1.定义:定义:若若R1NF,且每一个非主属性完全,且每一个非主属性完全函数依赖于码,则函数依赖于码,则R2NF。严格的说:若严格的说:若R1NF,且每一个非主属性,且每一个非主属性都不部分函数依赖于码,则都不部分函数依赖于码,则R2NF。例例4-7:S(SNO,CNO,GRADE,SD,MN)码:码:(SNO,CNO)非主属性:非主属性:GRADE,SD,MN7.2.5 2NF数据库数据库原理与应用原理与应用7.2 规范化规范化 取消部分函数依赖。取消部分函数依赖。S1(SNO,CNO,GARDE)S12NFS2(SNO,SD,MN)S22NF(SNO,CNO)F GRADE(SNO,CNO)P SD(SNO,CNO)传递传递 MN 该关系模式不是该关系模式不是2NF,会产生相应的,会产生相应的三个问题。三个问题。数据库数据库原理与应用原理与应用 1.定义:定义:R2NF,且每个非主属性都不传,且每个非主属性都不传递依赖于码,则递依赖于码,则R3NF。或:或:R1NF,且每个非主属性既不,且每个非主属性既不部分依赖于码,也不传递依赖于码。部分依赖于码,也不传递依赖于码。7.2.6 3NF7.2 规范化规范化 数据库数据库原理与应用原理与应用7.2.63NF2.继续继续7-7例例S2(SNO,SD,MN)2NF,SNO 传递传递 MNS21(SNO,SD)S22(SD,MN)S1(SNO,CNO,GRADE)3NFS21(SNO,SD)3NFS22(SD,MN)3NF 一般情况下,一般情况下,3NF已经解决绝大多数数已经解决绝大多数数据的冗余、插入、删除异常。据的冗余、插入、删除异常。进行分解:进行分解:到此,到此,S关系所分解得到了以下三个关系:关系所分解得到了以下三个关系:数据库数据库原理与应用原理与应用7.2.63NF3.出现异常的问题出现异常的问题 例例7-8:R(BNO,BNAME,AUTHOR)书号书名作者书号书名作者 约定:一本书只有一个书号(即:一个书号约定:一本书只有一个书号(即:一个书号对应一个书名)。对应一个书名)。一个书名可有多个书号(即:不同书号一个书名可有多个书号(即:不同书号可以有相同的书名)。可以有相同的书名)。每本书可由多个作者,但一个作者编的书每本书可由多个作者,但一个作者编的书名应不同。名应不同。从语义得到从语义得到 F=BNOBNAME,(,(AUTHOR,BNAME)BNO求:码求:码数据库数据库原理与应用原理与应用7.2.63NF解:解:因为:因为:BNOBNO,BNOBNAME所以:所以:BNOBNO,BNAME据据A2:BNO,AUTHORBNO,BNAME,AUTHOR候选键:候选键:(BNO,AUTHOR)又因为:又因为:AUTHOR,BNAMEBNO据据A1:AUTHOR,BNAMEAUTHOR,BNAME据据A4:AUTHOR,BNAMEBNO,BNAME,AUTHOR侯选键:侯选键:(AUTHOR,BNAME)因为该关系模式中无非主属性,所以因为该关系模式中无非主属性,所以R3NF。F=BNOBNAME,(,(AUTHOR,BNAME)BNO数据库数据库原理与应用原理与应用1.求码。求码。2.1NF、2NF、3NF的判断。的判断。数据库数据库原理与应用原理与应用1.如何判断一个关系模式的范式级别?如何判断一个关系模式的范式级别?2 求关系模式的码。求关系模式的码。(选作选作)数据库数据库原理与应用原理与应用7.2 规范化规范化 1.定义:定义:R(U,F)1NF,若,若XY,且,且YX时时,X必含有码,则必含有码,则RBCNF。即:每一个决定因素必含有码。即:每一个决定因素必含有码。可以推出以下结论:可以推出以下结论:RBCNF,则则 没有任何属性完全依赖于非码的任何一组没有任何属性完全依赖于非码的任何一组属性。属性。7.2.7BCNF(Boyce Codd Normaol Form)所有非主属性对每一个码都是完全函数依所有非主属性对每一个码都是完全函数依赖。赖。所有主属性对每一个不包含它的码,也所有主属性对每一个不包含它的码,也是完全函数依赖。是完全函数依赖。数据库数据库原理与应用原理与应用7.2.7BCNF例例7-8中:中:因为因为BNOBNAME,而,而BNO不是码。不是码。所以所以RBCNF。分解:分解:R1(BNO,BNAME)BCNFR2(BNO,AUTHOR)BCNF 但会丢失(但会丢失(AUTHOR,BNAME)BNO,产生语义矛盾。,产生语义矛盾。数据库数据库原理与应用原理与应用7.2.7BCNF如例如例7-8在分解前:在分解前:BNO BNAME AUTHOR 1OSA1OSB2OSC2OSD3DBA3DBE数据库数据库原理与应用原理与应用7.2.7BCNF在分解后:在分解后:BNO BNAME 1OS2DBBNOAUTHOR 1A1B2A即:同一作者可以编写同名的两本书,违即:同一作者可以编写同名的两本书,违背了语义背了语义,丢失了(,丢失了(AUTHOR,BNAME)BNO函数依赖。函数依赖。故:范式级别并非越高越好。故:范式级别并非越高越好。数据库数据库原理与应用原理与应用7.2.7BCNF例例7-9:R(S,C,P)学生课程名次学生课程名次 约定:每一个学生选一课有一名次,约定:每一个学生选一课有一名次,(S,C)P每门课每一名只有一个人(无并列)每门课每一名只有一个人(无并列)(C,P)S码是码是(S,C),),(C,P)。即决定因素含有码。即决定因素含有码。符合符合BCNF的定义。的定义。RBCNF例例4-1经过分解得到的经过分解得到的:(SNO,CNO,GRADE)BCNF(SNO,SD)BCNF(SD,MN)BCNF数据库数据库原理与应用原理与应用7.2.8 关系模式的规范化步骤关系模式的规范化步骤7.2 规范化规范化 1NF 2NF 3NFBCNF取消非主属性对码的部分取消非主属性对码的部分FD 取消非主属性对码的传递取消非主属性对码的传递FD取消主属性对码的部分、传递取消主属性对码的部分、传递FD 数据库数据库原理与应用原理与应用7.3.1 F逻辑蕴含逻辑蕴含1.定义:定义:对于满足一组对于满足一组FDF的关系模式的关系模式R(U,F),对于任一关系),对于任一关系r,若,若FDXY都都成立,则称成立,则称F逻辑蕴含逻辑蕴含XY,记作:,记作:F|=XY。或:设或:设F是关系模式是关系模式R上成立的上成立的FDS,XY是一个是一个FD。如果对于。如果对于R的每个满的每个满足足F的关系的关系r也满足也满足XY,则称,则称F逻辑蕴逻辑蕴涵涵XY,记作:,记作:F|=XY。数据依赖的公理实现数据依赖的公理实现7.3数据库数据库原理与应用原理与应用2.推理规则:推理规则:7.3.1逻辑蕴含逻辑蕴含A1:Y X U 则则XYA2:XY 则则 XZYZA3:XY YZ 则则 XZA4:XY XZ 则则XYZA5:XY YZ 则则 XWZA6:XY Z Y 则则 XZF数据库数据库原理与应用原理与应用7.3.2F的闭包的闭包1.定义:定义:被被F逻辑蕴含的逻辑蕴含的FD的全体构成的集合的全体构成的集合称为称为FD集集F的闭包,的闭包,记作:记作:F F=XY|F|=XY例例4-16:R(ABC)F=AB,BC 求求F。数据库数据库原理与应用原理与应用7.3.2F的闭包的闭包解:解:A AA AB AC ABC AAB AAC AABC B BB BC BBCC CCAB ABAB ABA ABBABAC ABBC ABC ABABC AC ACAC ACA ACC ACBABBC ACAB ACABCBC BCBC BCB BCCABC ABCA ABCB ABCCABCABABCBCABCAC ABCABC共共43个个FDF=AB,BC数据库数据库原理与应用原理与应用7.3.3 属性集的闭包属性集的闭包7.3.3属性集的闭包属性集的闭包定义:定义:设设F是属性组是属性组U的的FD集,集,X是是U的子集,那的子集,那么(对么(对F)属性集)属性集X的闭包,用的闭包,用X 表示,它表示,它是是 一个从一个从F集使用集使用FD的推理规则推出的所有的推理规则推出的所有满足满足 XA的属性的属性A的集合,的集合,X属性属性AXA在在F 中中定理:定理:XY能用能用FD推理规则推出的充分必要推理规则推出的充分必要条件是条件是Y X 数据库数据库原理与应用原理与应用7.3.3属性集的闭包属性集的闭包例例4-17:R(AB)FAB,BC,求所有属性子集的属性闭包。求所有属性子集的属性闭包。ABA ABBCA ABCBCABB BC C C(AB)AB BC(AB)ABC(AC)(AC)ABC (BC)BC(ABC)ABC任意任意XY,Y必会在必会在X中。中。AB C(AB)(BC)(AC)(ABC)(BC)C+(ABC)数据库数据库原理与应用原理与应用求属性闭包的意义:求属性闭包的意义:从属性闭包求从属性闭包求F的闭包容易。的闭包容易。哪个属性(集)的闭包是所有属性,则哪个属性(集)的闭包是所有属性,则该属性(集)是超码,从超键可以轻松求该属性(集)是超码,从超键可以轻松求码。码。7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用例:例:已知:已知:R(ABCD)F=ABC,CD,DA 求:码和求:码和R的范式级别。的范式级别。解:解:A+=A B+=B C+=CDA D+=DAAB+=ABCDAC+=ACDAD+=AD7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用BC+=BCDABD+=BDACCD+=CDAABC+=ABCDABD+=ABDCACD+=ACDBCD+=BCDAABCD+=ABCD超码:超码:AB、BC、BD、ABC、ABD、BCD、ABCD。R(ABCD)F=ABC,CD,DA7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用码:码:AB BC BD主属性:主属性:A B C D 因为因为 CD(或(或DA)即:主属性部分)即:主属性部分FD依赖于码。依赖于码。R 3NF。7.3.3属性集的闭包属性集的闭包练习:练习:已知:已知:R(ABCD)F=ABC,BD求:码和范式级别。求:码和范式级别。已知:已知:R(ABCDE)F=ABC,CD,DB,DE求:码和范式级别。求:码和范式级别。数据库数据库原理与应用原理与应用练习:练习:已知:已知:R(ABCD)F=ABC,BD求:码和范式级别。求:码和范式级别。A+=ABCD B+=BD C+=C D+=DAB+=ABCDAC+=ABCDAD+=ABCDBC+=BCDBD+=BDCD+=CDABC+=ABCDABD+=ABDCACD+=ABCDBCD+=BCDABCD+=ABCD码:码:AR 2NF。7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用已知:已知:R(ABCDE)F=ABC,CD,DB,DE求:码和范式级别。求:码和范式级别。A+=AB+=BC+=CDBED+=DBEE+=EAB+=ABCDEAC+=ACDBEAD+=ADBCEAE+=AEBC+=BCDEBD+=BDEBE+=BECD+=CDBECE+=CEDBDE+=DEB7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用ABC+=ABCDEABD+=ABDCEABE+=ABECDACD+=ACDBEACE+=ACEDBADE+=ADEBCBCD+=BCDEBCE+=BCEDBDE+=BDECDE+=CDEBABCD+=ABCDEABCE+=ABCEDABDE+=ABDECACDE+=ACDEBBCDE+=BCDEABCDE+=ABCDE码:码:AB、AC、AD。非主属性:非主属性:E 因为:因为:DE 所以所以R 1NF。7.3.3属性集的闭包属性集的闭包数据库数据库原理与应用原理与应用7.4模式分解模式分解 在关系模式分解过程中,低一级关系模在关系模式分解过程中,低一级关系模式分解为若干个高一级的模式的方法并不式分解为若干个高一级的模式的方法并不是标准。是标准。例例4-18:R(SNO,SD,MN)FSNOSD,SDMN分解一:分解一:R1(SNO)5NF R2(SD)5NF R3(MN)5NF 但分解后,丢失了许多信息,如查:但分解后,丢失了许多信息,如查:学生的系主任,连接成了笛卡儿积。学生的系主任,连接成了笛卡儿积。7.4 模式分解模式分解数据库数据库原理与应用原理与应用分解二:分解二:7.4模式分解模式分解R1(SNO,SD)R2(SNO,MN)但丢失但丢失SDMN。分解三:分解三:R1(SNO,SD)R2(SD,MN)分解:分解:既要保持既要保持“无损连接无损连接”(和原来的(和原来的r一样)一样)又要保持又要保持“函数依赖函数依赖”(和(和FD等价)等价)数据库数据库原理与应用原理与应用1.推理公理推理公理2.F的闭包的闭包3.属性闭包属性闭包4.要保持要保持“无损连接无损连接”又要保持又要保持“函数函数依赖依赖”本章结束本章结束7.4模式分解模式分解数据库数据库原理与应用原理与应用 2.已知:已知:R(ABCDE)F=ABC,DEC,BD求:求:R的码并判断的码并判断R的范式级别的范式级别。1.已知:已知:R(ABCDEG)F=DG,CA,CDE,AB 求:求:D+、C+、A+、CD+、AD+、AC+、ACD+。本节结束本节结束数据库数据库原理与应用原理与应用1.已知:已知:R(ABCDEG)F=DG,CA,CDE,AB 求:求:D+、C+、A+、CD+、AD+、AC+、ACD+。解:解:D+=DGC+=CABA+=ABCD+=CDAGEBAD+=ADBGAC+=ACBACD+=ACDBEG数据库数据库原理与应用原理与应用2.已知:已知:R(ABCDE)F=ABC,DEC,BD求:求:R的码并判断的码并判断R的范式级别的范式级别。A+=AB+=BDC+=CD+=DE+=E(AB)+=ABCD(AC)+=AC(AD)+=AD(AE)+=AE(BC)+=BCD(BD)+=BD(BE)+=BED(CD)+=CD(CE)+=CE(DE)+=DEC数据库数据库原理与应用原理与应用(ABC)+=ABCD(ABD)+=ABDC(ABE)+=ABECD(ACD)+=ACD(ACE)+=ACE(ADE)+=ADEC(BCD)+=BCD(BCE)+=BCED(BDE)+=BDEC(CDE)+=CDE(ABCD)+=ABCD(ABCE)+=ABCED(ABDE)+=ABDEC(ACDE)+=ACDE(BCDE)+=BCDE(ABCDE)+=ABCDE码:码:ABE 非主属性:非主属性:C D 因为:因为:BDR 1NF 数据库数据库原理与应用原理与应用2.(1)学生(学号学生(学号,姓名姓名,出生年月出生年月,系名系名,班号班号,宿舍区)宿舍区)F=系名系名宿舍区宿舍区码码:学号学号学号学号系名系名,系名系名宿舍区宿舍区,有传递有传递FD 学生学生2NF(2)班级班级(班号班号,专业名专业名,系名系名,人数人数,入校年份入校年份)F=(专业名专业名,入校年份入校年份)班号班号码码:(专业名专业名,入校年份入校年份)班号班号 因为因为 专业名专业名系名系名,所以所以(专业名专业名,入校年份入校年份)系名系名 班级班级1NFP数据库数据库原理与应用原理与应用(3)系系(系名系名,系号系号,系办公地点系办公地点,人数人数)F=系名系名系号系号 码码:系名系名,系号系号 系系BCNF(4)学会学会(学会名学会名,成立年份成立年份,地点地点,人数人数)码码:学会名学会名 学会学会BCNF(5)参加参加(学生学生,学会名学会名,入会年份入会年份)F=(学生学生,学会名学会名)入会年份入会年份 码码:(学生学生,学会名学会名)参加参加BCNF
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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