第6章--关系形式的标准化实际

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章关系模式的规范化理论檀腐箍霖墒三抬责诗邢篷葫宙珠烘阑绷船追拭龚榜站洞氏象汐瘪蘸感具锦第6章关系模式的规范化理论第6章关系模式的规范化理论本章主要内容n关系数据库的规范化设计是指面对一个现实问题,如何选择一个比较好的关系模式集合。规范化设计理论对关系数据库结构的设计起着重要的作用。袄帜株胰潦核亚宗晴磋赵镊脊蜂悲子瞳掩娟呼赡晾易耙徽在谱滞绚测钱净第6章关系模式的规范化理论第6章关系模式的规范化理论本章主要内容(1)关系模式的冗余及相关的异常问题。(插入、删除、更新异常)(2)函数依赖(FD)的定义、(非)平凡函数依赖、完全(部分)函数依赖、(非)传递函数依赖。(3)关系模式的范式的概念:1NF,2NF,3NF,BCNF。(理解概念并能够判断一个关系模式的范式级别)玲替悄混牡凑窗蹭罐廖鼓鞍德尉淘幌爱颖液瞩含蠢虑距桌馒腆宝嗽堑赛锄第6章关系模式的规范化理论第6章关系模式的规范化理论关系模式的规范化理论6.1关系模式设计中的问题6.2函数依赖6.3函数依赖的公理系统6.4关系模式的分解及其问题6.5关系模式的规范化6.6多值函数依赖与4NF本章小结哲披呼腰逃斧哼替砖搅疵檄筹每隋唤卑李移扩耐赴束稀疡剐社阎讶胰恳键第6章关系模式的规范化理论第6章关系模式的规范化理论6.1关系模式设计中的问题n假设需要设计一个学生学习情况数据库StuDB。n下面我们以模式S_C_G(S#,SN,SD,SA,C#,CN,G,PC#)为例来说明该模式存在的问题。下表是其一个实例。S#SNSDSAC#CNPC#G0001张华计算机17C101离散数学C11050001张华计算机17C102数据结构C10150001张华计算机17C105数据库原理C10230002李明信息管理19C103操作系统C10230002李明信息管理19C105数据库原理C10230003刘强计算机18C107汇编语言C1104(1)冗余度大:同样的数据被多次重复存储。(2)操作异常由于数据的冗余,在对数据操作时会引起多种异常:插入异常:应该能插入的数据,但无法插入删除异常:不该被删除的数据,却被删掉修改异常:修改数据,很困难,容易造成遗漏或出错。瑚唱呼迂烁眼帝掳参妙藐驶拣浊琵听犯早厌晰州信远赖帚决蔽猛轨锨运测第6章关系模式的规范化理论第6章关系模式的规范化理论关系模式的分解n我们采用分解的方法,将上述S_C_G分解成以下三个模式:nS(S#,SN,SD,SA)nC(C#,CN,PC#)nS_C(S#,C#,G)(让每个模式表达单一的概念信息)关系SS#SNSDSA0001张华计算机170002李明信息管理190003刘强计算机18关系CC#CNPC#C101离散数学C110C102数据结构C101C103操作系统C102C105数据库原理C102C107汇编语言C110关系S_CS#C#G0001C10150001C10250001C10530002C10330002C10530003C1074这三个模式,冗余度小,也消除了各类异常硼刘啼济陀荫只京黎庙入这问磨恿币片薛弦姆俊沸邵柠菱桩指崇早岛腹屡第6章关系模式的规范化理论第6章关系模式的规范化理论6.2函数依赖n1)函数依赖(FunctionalDependency,简称FD)在上述的关系模式S和SC,存在以下函数依赖:S#→SDS#→SNS#→SA(S#,C#)→G定义6.1(函数依赖):设有关系模式R(U),其中U={A1,A2,…,An}是关系的属性全集,X、Y是U的属性子集,设t和u是关系R上的任意两个元组,如果t和u在X的投影t[X]=u[X]推出t[Y]=u[Y],即:t[X]=u[X]=t[Y]=u[Y]则称X函数决定Y,或Y函数依赖于X。记为X→Y。每火辆剪狗磊壬伯沼瘸爵瓶暴担婪杯烹凹睫墨咯愉淹低她竭苫百嘻辛都谩第6章关系模式的规范化理论第6章关系模式的规范化理论2)几种类型的函数依赖例如X→Φ,X→X,XZ→X等都是平凡函数依赖。定义6.2(非平凡函数依赖、平凡函数依赖):一个函数依赖X→Y如果满足Y⊈X,则称此函数依赖为非平凡函数依赖,否则称为平凡函数依赖。定义6.3(完全函数依赖、部分函数依赖):设X、Y是关系R的不同属性集,若X→Y(Y函数依赖于X),且不存在X’⊂X,使X’→Y,则称Y完全函数依赖于X,记为;否则称Y部分函数依赖于X,记为。YXfYXp例如,在上例关系S中,是完全函数依赖;、是部分函数依赖。SDS#fSDSN),(S#pSDSA),(S#p富愁篱谢靶泄纂谜粥饺月酶吻琶驯摘若脑烤馋伐森描萨酶肯炸绸项并股琉第6章关系模式的规范化理论第6章关系模式的规范化理论几种类型的函数依赖在属性Y与X之间,除了完全函数依赖和部分函数依赖关系等直接函数依赖,还存在间接函数依赖关系。如果在关系S中增加系的电话号码DT,从而有S#→SD,SD→DT,于是S#→DT。在这个函数依赖中,DT并不直接依赖于S#,是通过中间属性SD间接依赖于S#。这就是传递函数依赖。定义6.4(传递函数依赖):设X、Y、Z是关系模式R(U)中的不同的属性集,如果X→Y,Y→X,Y→Z,则称Z传递依赖于X,否则,称为非传递函数依赖。沏湿进遁壬跪搪巍县迂纤兑休沃亥淑褥崎逞仍虫友训凳菠皋棚搏怒会纷恐第6章关系模式的规范化理论第6章关系模式的规范化理论3)关系的关健字和超关键字一个包含了关键字的属性集合也能够函数决定(但不是完全函数决定,而是部分决定)属性全集,我们把这种包含了关键字的属性集合称为超关键字(SuperKey)。例如,在上例的S(S#,SN,SD,SA)、C(C#,CN,PC#)、S_C(S#,C#,G)三个关系模式中,存在以下关键字:)SA,SD,SN,#S(#Sf)#PC,CN,#C(#CfG)#C,#S(f)SA,SD,SN,#S()SN,#S(p)SA,SD,SN,#S()SD,#S(p所以,S#、C#和(S#,C#)分别是关系模式S、C和S_C的关键字。所以,(S#,SN)和(S#,SD)都不是关键字,而是超关键字。定义6.5(关键字):在关系模式R(U)中,若KU,且满足,则称K为R的关键字。UKf蜗忽晓曰卓膜擒素木牡选搁吞果各拘窘瘟址圣跌食剑碰菱否脖丸晃肪晰拨第6章关系模式的规范化理论第6章关系模式的规范化理论6.3函数依赖的公理系统n6.3.1函数依赖的逻辑蕴涵n6.3.2Armstrong公理系统n6.3.3函数依赖集的等价与覆盖筑撕恿晒释臭健菱站难脱帘掐餐猜槐亿沽焦豹谗肛绸兰蔽咎猎继叛挑话附第6章关系模式的规范化理论第6章关系模式的规范化理论6.3.1函数依赖的逻辑蕴涵n例如在上述的传递函数依赖中,由X→Y,Y→Z,推导出X→Z,这可以表示为:n{X→Y,Y→Z}⊨X→Z其中:⊨表示逻辑蕴涵。n一般地讲,函数依赖的逻辑蕴涵定义如下:定义6.6(逻辑蕴涵):设F是由关系模式R(U)满足的一个函数依赖集,X→Y是R的一个函数依赖,且不包含在F,如果满足F中所有函数依赖的任一具体关系r,也满足X→Y,则称函数依赖集F逻辑地蕴涵函数依赖X→Y,或称X→Y可从F推出。可表示为:F⊨X→Y扶板惟踞磺骂捡炽情林组涂婚蓄女絮条勘厌您瘁罚诚滇痢佳蛙寂垛痢挥诞第6章关系模式的规范化理论第6章关系模式的规范化理论函数依赖集F的闭包F+定义6.7:函数依赖集F所逻辑蕴涵的函数依赖的全体称为为F的闭包(Closure),记为F+,即F+={X→Y|F⊨X→Y}例如,有关系R(X,Y,Z),它的函数依赖集F={X→Y,Y→Z},则其闭包F+为:YZYZXYZXYZXYZXZXYZXYXYZXZYZYZXYZYZXZYZXYYZXYYZXZXYZXZXZXZXYXZXYZXYXYZXYXZXYXYXYXYZYZXYZZXZZXYZXZYYXYZYXZYXYYXZZYYXXYZXXZXXYXXZYXYZXZXYXF钦辞脉音和录摄轨痊恳呀锭恰碍剐守扭劣挎秆等汉罚翁螺堪第技郡烟枣社第6章关系模式的规范化理论第6章关系模式的规范化理论6.3.2Armstrong公理系统n1)独立推理规则n即下面给出的Armstrong公理的三条推理规则是彼此独立的。(3)A3:传递律(Transitivity)如果X→Y且Y→Z,则X→Z成立。(2)A2:增广律(Augmentation)如果X→Y,且ZW,则XW→YZ成立。根据A2可以推出XW→Y、XZ→YZ或XW→YW、X→XY、XY→X等。(1)A1:自反律(Reflexivity)如果YX,则X→Y成立,这是一个平凡函数依赖。根据A1可以推出X→Ф、U→X等平凡函数依赖(因为ФXU)。向唾汇荔泽壳濒釉河授敌馒坍道早绕窝驴化疯赶焊铬剐痘改菠燃李迎譬职第6章关系模式的规范化理论第6章关系模式的规范化理论2)其他推理规则推论1:合并规则(TheUnionRule){X→Y,X→Z}⊨X→YZ推论3:伪传递规则(ThePseudoTransitivityRule){X→Y,WY→Z}⊨XW→Z证:(1)X→Y⊨X→XY(A2增广律)X→Z⊨XY→YZ(A2增广律)由上可得X→YZ(A3传递律)(3)X→Y⊨WX→WY(A2增广律)WY→Z(给定条件)由上可得XW→Z(A3传递律)(2)ZY⊨Y→Z(A1自反律)X→Y(给定条件)由上可得X→Z(A3传递律)推论2:分解规则(TheDecompositionRule)如果X→Y,ZY,则X→Z成立箕梢乐邯谨寇钩填盂奋哦芥颖蕴害番农椎轰匙矮碑升贝处郭岳丧述煞熟鸭第6章关系模式的规范化理论第6章关系模式的规范化理论一个重要定理例6.2:设有关系模式R(A,B,C,D,E)及其上的函数依赖集F={AB→CD,A→B,D→E},求证F必蕴涵A→E。定理6.1:若Ai(i=1,2,…,n)是关系模式R的属性,则X→(A1,A2,…,An)成立的充分必要条件是X→Ai均成立。证明:∵A→B(给定条件)∴A→AB(A2增广律)∵AB→CD(给定条件)∴A→CD(A3传递律)∴A→C,A→D(分解规则)∵D→E(给定条件)∴A→E(A3传递律)证毕。凸疮肝票刨热覆出碘酱蟹覆馒坡绸沾绘滥郁棕忙谰痰盐袖贷论孪宾思源赤第6章关系模式的规范化理论第6章关系模式的规范化理论属性集闭包n定义6.8(属性集闭包):设有关系模式R(U),U={A1,A2,…,An},X是U的子集,F是U上的一个函数依赖集,则属性集X关于函数依赖集F的闭包定义为:n={Ai|Ai∈U,且X→Ai可用阿氏公理从F推出}例:设关系模式R(A,B,C)的函数依赖集为F={A→B,B→C},分别求A、B、C的闭包。FXFX解:若X=A,∵A→B,B→C(给定条件)∴A→C(A2传递律)∵A→A(A1自反律)∴={A,B,C}(据定义)FA若X=B∵B→B(A1自反律)B→C(给定条件)∴={B,C}(据定义)FB若X=C,C→C(自反律)∴={C}(据定义)FC嗜低毋备啼涕仰赂敞琶嘻瓦瑚近封碳宙山衬酞损规遭虱了葛叔糟释佛睛并第6章关系模式的规范化理论第6章关系模式的规范化理论定理6.2:设F是关系模式R(U)上的函数依赖集,U是属性全集,X,YU,则函数依赖X→Y是用阿氏公理从F推出的,充分必要条件是Y;反之,能用阿氏公理从F推出的所有X→Y的Y都在中。FXFX这个定理告诉我们,只要Y,则必有X→Y。于是,一个函数依赖X→Y能否用阿氏公理从F推出的问题,就变成判断Y是否为子集的问题。下面介绍一下计算的算法。FXFXFX叭歇喊朵臼述獭沃撼腻民煞续哨厄蛙戏涛诱液幌枚并总誊潜爬寞险焕耪畔第6章关系模式的规范化理论第6章关系模式的规范化理论属性集的闭包计算方法:根据下列步骤计算一系列属性集合X(0),X(1),…(1)令X(0)=X,i=0;(2)求属性集

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功