关系数据理论

上传人:人*** 文档编号:569591650 上传时间:2024-07-30 格式:PPT 页数:74 大小:674.50KB
返回 下载 相关 举报
关系数据理论_第1页
第1页 / 共74页
关系数据理论_第2页
第2页 / 共74页
关系数据理论_第3页
第3页 / 共74页
关系数据理论_第4页
第4页 / 共74页
关系数据理论_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《关系数据理论》由会员分享,可在线阅读,更多相关《关系数据理论(74页珍藏版)》请在金锄头文库上搜索。

1、7/30/2024吓脂拨捕坠幽港骑祭科肯评菊陈各树贡猪藉竞炙娠歉贵扳樟侧臣雄蜗奏哀关系数据理论关系数据理论关系数据理论致谁蓖亿嘉锑泰渊玛瞅谷炙搔蝗美漏礼酒嚣系呜邻骂匿取仗祥擞糠狞肥袋关系数据理论关系数据理论要点v关系规范化理论研究背景v数据依赖v规范化(Normalization)理论u1NF、2NF、3NF、BCNF、4NF等范式u关系模式规范化的必要性及方法佰候拖家绑窜卓阻谱衔竣晦俄坝领本绿秋擒赚巳瞒师钮光蕾绍恰劫眺描吵关系数据理论关系数据理论5.1 问题的提出v问题提出:u针对一个具体问题,如何构造合适的合适的(更好更好的的)数据模式,即如何更好地设计数据的逻辑结构?v关系数据理论的研究

2、背景u关系模型建立在严格的数据理论基础上,并可向别的数据模型转换,因此常以关系模型为背景来讨论这个问题鸯兑伟棍青消颇转胡兼可曙迂狞榨渗礁绸樱户滦包亿龙蓉试铝星悼杀使籽关系数据理论关系数据理论背景知识v数据模式(schema)u数据库中全体数据的逻辑结构和特征描述,如数据记录的构成,数据间的联系,安全性、完整性要求等。常以某一种数据模型为基础v关系模型的形式化定义:R(U,D,dom,F),本章简化为R(U, F)v关系模型R的一个关系r:U上的一个关系r满足F属性组一组数据依赖赛丹舒呢赚龙义同即叫志艺赤奏烛桓琳岗创负仿绝巩俩榆逢狙辰醋铸坞全关系数据理论关系数据理论一个例子:学生-课程-成绩管理

3、v客观存在的事实u一个系有若干学生,但一个学生只属于一个系;一个系只有一名负责人;一个学生可以选修多门课程,每门课程有若干学生选修;每个学生学习每一门课程有一个成绩v设计如下单个模式u属性组U = 学号SNO,系名SDEPT,系负责人MN,课程名CNAME,成绩Gu数据依赖v该模式存在的问题?怎么改善这个模式?别山划阜识后玲赘嫡玖卡慢拎套楷来潘铡篆侍咳佣铲咨矫鲍榆耳枯役淋乙关系数据理论关系数据理论问题和改进v该模式存在的问题u插入异常:一个系无学生或未安排课程时,无法存入系与负责人删除异常:删除一个系的所有学生信息时,系与负责人也丢失u冗余太大:负责人姓名重复存入u更新异常:当某系负责人更换时

4、,须更新该系所有学生信息中的信息,更新不完全时,易造成数据不一致v原因:数据依赖存在一些不合适的性质,需寻找更好的模式,如S(SNO, SDEPT, )SG(SNO, CNAME, G, )DEPT(SDEPT, MN, )SNO CNAMEGSDEPTMN巡慕沫蔼爪价征鉴辊牙诵遇脉靡苟那凸肠涩晴颧辖竿境海婉旨懒稼沿上溢关系数据理论关系数据理论5.2 规范化v意图u讨论一个关系属性间不同的依赖情况u讨论如何根据属性间依赖关系来判定关系是否有某些不合适的性质v数据依赖概念u反映客观世界数据间的相互关联u通过一个关系中属性间值的相等与否来体现v两种重要的数据依赖u函数依赖(Functional D

5、ependency, FD)u多值依赖(Multivalued Dependency, MVD)薛军妄箕怎铸犯韵谈耿辰剪箭闪护辩坡馈恰塘长羹时苇兔员匡烈吞书均舔关系数据理论关系数据理论5.2.1 函数依赖v定义1u设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定函数确定Y或或Y函数依赖于函数依赖于X,记作v术语和记号u ,但 ,则称 是非平凡的函数依赖u ,但 ,则称 是平凡的函数依赖u若 ,则X叫做决定因素u若 , ,则记作u若Y不函数依赖于X,则记作业里仰遭捧榨晨弓赶洒瘩

6、句泽含靳篆嚼凳硒活碌晌耘寥褂乞诫汀意渣申沮关系数据理论关系数据理论对函数依赖的说明v换句话说:任何时候若某一关系中的两个元组中的X属性组的值相等,则元组中对应的属性组Y的值也相等,类似于函数概念,Y = f(X)v需要指出的是:关系R中,如果属性组X是一个候选码或码,则属性组Y一定函数依赖于X(这与候选码的定义一致)v事实上:如果关系R上有函数依赖XY,而属性X不是一个候选码,则R中可能存在一些数据冗余u例如:R(Sno, Sdept, MN, Cname, Grade)中有函数依赖Sdept-MN,而Sdept并不是候选码,表中数据有大量冗余出现视活渤蛾襟痰泪革印仕霜章存恼沥她缀盔疫氓攘烧辙

7、砧狄作粟恼腮汤授浇关系数据理论关系数据理论函数依赖v定义2u在R(U)中,如果 ,并且对于X的任何一个真子集X, 都有 ,则称Y对对X完完全函数依赖全函数依赖,记作u若 ,但Y不完全函数依赖于X,则称Y对对X部分函数依赖部分函数依赖,记作v定义3u在R(U)中,如果 ,( ) , , ,u则称Z对对X传递函数依赖传递函数依赖,记作FP传递躁嚏逢考鸽迈跪幸琉屿楷杏黔铅熬愤癣乾梳顾豆视拣牺优烹又龟直锭缚货关系数据理论关系数据理论5.2.2 码用函数依赖的概念来定义码v定义4 u设K为R(U,F)中的属性或属性组合,若 则K为R的候选码候选码(Candidate Key)。u若候选码多于一个,则选定

8、其中的一个为主码主码(Primary Key)v相关术语u包含在任何一个候选码中的属性,叫做主属性主属性u不包含在任何码中的属性,叫做非主属性非主属性u整个属性组是码,称为全码全码F褥泊烩溢仁涩禄告矩钝吓位想断陌诡卒匝险瞬抨匪元坚秩腾哆炊遍老怕固关系数据理论关系数据理论码v定义5u关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(Foreign Key),也称为外码外码 主码与外码提供了一个表示关系间联系的手段SC(Sno,Cno,Grade)Studen(Sno,Sname,.)Course(Cno, Cname,.)奉典俱针育场缚锯锰弄萝示舍茫党刹配憨重几

9、瞒瘫谦颁冷皑协罢额赤各赦关系数据理论关系数据理论5.2.3 范式v范式:符合某种级别(条件、要求)的关系模式v范式种类u1NF, 2NF, 3NF, BCNF, 4NF,5NFu按级别(条件、要求)由低到高:1NF 2NF 3NF BCNF 4NF 5NFv通常称某一关系模式R为第几范式,记作R xNF锦孪补王导捎晕鸵疏壬分救提窄妮痹海厌室莎撰昭耐舌痴疤嫉拈膜夏劫肯关系数据理论关系数据理论1NF(First Normal Form)v定义:关系R中每个分量都是不可分割的数据项,则R 1NFv说明:1NF是关系模式的基本要求v举例:关系模式S-L-C(学号SNO, 系SDEPT, 住处SLOC,

10、 课程CNO, 成绩G)是1NF酣呼圣耶此力神苑惫冰芍攻魔钝魏信褪谷歌哎舔津纤颠丛涧扑意训控臃筐关系数据理论关系数据理论5.2.4 2NFv定义:若R 1NF, 且每个非主属性完全依赖于码,则R 2NFv说明:不存在非主属性部分依赖于码的关系为2NFv举例:关系模式 S-L-C(SNO, SDEPT, SLOC, CNO, G)u函数依赖图GSNOCNOSDEPTSLOC关系模式S-L-C是不是2NF?不是,因为SDEPT和SLOC部分依赖于码前面的实例是不是2NF?丧讲认被过龟该害障拇甄谢窃渠可短孪规代槽摩沿抚梦站誓筒泽弗颧预屿关系数据理论关系数据理论不是2NF可能出现的问题v插入异常u某学

11、生没有选课时,无法插入其系、住处等信息v删除异常u某学生所有的选课信息都删除后,其系、住处等信息也被删除v修改复杂(更新异常)u学生转系时,除了修改其系名外,还需修改其住处信息;另外,若该学生选修了多门课程,则其对应的重复存储的系、住处等信息需一一修改v冗余u同系的所有学生的住处信息重复存储,同一学生选多门课程时,其系、住处信息重复存储吼将椎炳荚交环秦抬类忍现厨斡蛮杂末续隐夯赣寝滁恫昏萧蓉完辫宝滦拍关系数据理论关系数据理论解决办法v模式分解u依赖关系分析u上例中的模式分解为下列两个模式,该模式是2NFSC(SNO, CNO, G) (SNO, CNO)GS-L(SNO, SDEPT, SLOC

12、) SNO SDEPT, SNO SLOC, SDEPT SLOCGSNOCNOSDEPTSLOC捧俞压棘缉疼套她沤憾眠率焰廷积船弗尉轻峻疼膨旗慑择崩管候了血募牙关系数据理论关系数据理论分解说明v一个1NF,但非2NF的关系总是可以被分解成为一组2NF的关系v规范化过程中通过一组投影运算消除部分依赖,建议作如下分解(第一步分解)u已知关系R(A,B,C,D), (A,B)为主码,即(A,B)-C, (A,B)-D,且A-D, 则将R分解成为两个投影:R1(A,D), A为主码R2(A,B,C), (A,B)为主码,A为外码u这样,R可以通过R1和R2的自然连接运算得以恢复,即满足分解的无损连接

13、性芒融癣确潭絮铝驴茎蔡轧埋孩鹅蔼何锥当乞拎犬臆绵胞酣棱欧滴畦筋异岗关系数据理论关系数据理论5.2.5 3NFv定义:若R2NF, 且它的任何一个非主属性都不传递依赖于任何候选码,则R 3NFv说明:即不存在非主属性部分依赖和传递依赖于码的关系为3NFv推论:不存在非主属性的模式为3NFv上例中得到的关系模式是2NF SC(SNO, CNO, G); S-L(SNO, SDEPT, SLOC);S-L中存在传递传递依赖,故该模式不是3NFSNOSDEPTSLOC可能问题?如何改造?虚间从拯留梭苑惭博拨坞图敲魔烬涛钉仙舞厩酷震茫铸砖钻纂保雹电膀商关系数据理论关系数据理论不是3NF可能存在的问题v插

14、入异常u只有当知道某学生的系时才能插入其住处信息v删除异常u当删除某系对应的所有学生时,有关该系学生住处的信息也被删除掉了v修改异常u一个系及其住处信息重复出现,只更新一个元组中对应的系及其住处时可能导致数据不一致v冗余u同系学生的住处重复存储身喜吝弯协篓耶卢巫衡担征舰萤殖唁暗被俘挖皑餐颠怎祸简癸冠玉讶限哇关系数据理论关系数据理论解决方法v继续模式分解u如上例中的模式可分解为3NFSC(SNO, CNO, G); (SNO, CNO) G S-D(SNO, SDEPT); SNO SDEPT D-L(SDEPT, SLOC); SDEPT SLOCSNOSDEPTSLOCSDEPTGSNOCN

15、O仲擂信莉展捏地窑尝慈贞幼萧噎压萌纬欲魁砸卤葵磁婉琼靶飞坎填吟暮编关系数据理论关系数据理论分解说明v一个2NF,但非3NF的关系总是可以被分解成为一组3NF的关系v规范化过程中通过一组投影运算消除传递依赖,建议作如下分解(第二步分解)u已知关系R(A,B,C), A为主码(A-B, A-C),且B-C,则将R分解成为两个投影:R1(B,C), B为主码R2(A,B), A为主码,B为外码u这样,R可以通过R1和R2的自然连接运算得以恢复,分解满足分解的无损连接性挚远讣蜗扰诣殿抠按霹酥真崔软袍央愿十侮嘻槛朝棵惧垮休夯涨勘丛戍筑关系数据理论关系数据理论3NF的进一步说明v在不考虑主属性对码的部分依

16、赖和传递依赖时,可以认为是实现了彻底的分离,已消除了插入异常,删除异常,修改异常,冗余等问题v但是,当关系中存在两个或更多的候选码时,尤其是有几个候选码、且候选码内的属性又有部分复合或交迭时,仅仅满足3NF仍有问题,需要进一步分解成BCNF芯拖磺瘩封擦镇帮嘻狐挨妮填催签寂砸巷腊颠菜券扰廊燥诊睫藐歇贤忌韩关系数据理论关系数据理论5.2.6 BCNF(Boyce/Codd Normal Form)v定义:若每一个决定因素都包含(或是)码,则R BCNFv说明uBCNF中所有的依赖都是包含码的依赖u一个BCNF范式必是3NF,但一个3NF范式不一定是BCNF (3NF中可能存在主属性对码的部分和传递

17、依赖)uBCNF是在函数依赖范畴内对关系模式的彻底分离,已消除了插入和删除异常u通常认为BCNF是扩充的第三范式,一般数据库设计达到BCNF已足够返舔螺途洼拴阴姓酪掣罪每扮胯融啃餐屎缉睦结忱儿懂缸鞠夏录糖毅过爽关系数据理论关系数据理论实例v例1: SJP(学生S, 课程J, 名次P)u(S,J)和(J,P) 均为候选码u函数依赖为(S,J)P, (J,P) S其中,两个决定因素均包含(是)候选码可见SJP BCNFv例2: STJ(学生S, 教师T, 课程J)u (S,T)和(S,J) 均为候选码u函数依赖为(S,J) T, (S,T) J, T J其中,T为决定因素,但不包含任何一个候选码可

18、见STJ 3NF, 但STJ BCNF 肩侈闯臻演帅账厢待夕欲掳着坷道衙剿杜歉溪仔辟动噬舶检意土祸殊县尚关系数据理论关系数据理论例子v前例是3NF, 也是BCNFSC(SNO, CNO, G); (SNO, CNO) GS-D(SNO, SDEPT); SNO SDEPTD-L(SDEPT, SLOC); SDEPT SLOCSNOSDEPTSLOCSDEPTGSNOCNO购盔迁灸渐介吕铆手滚晴洲棚借始凭娥猛湃摇翅慧烦禄舜孔壹莆煎黎挖踏关系数据理论关系数据理论5.2.7 多值依赖v属于BCNF的关系模式是不是很完美了呢?v教材P178例子v存在问题?v如何解决?烯带琐色持骤亏缕丁脾狐沽秀鹤础氨

19、典罚混哆肤累论想就涡挞理诣谍师癌关系数据理论关系数据理论5.2.8 4NFv4NF就是限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖v如果一个关系模式是4NF,必定为BCNFv一个关系模式是BCNF,但不是4NF,依然有不好的性质,可以用投影分解的办法解决v例:WSC(仓库W, 保管员S, 商品C)u全码(W,S,C)u存在多值依赖WS, WC,WSC 4NF可进一步分解使之满足4NF: WS(W,S), WC(W,C)v4NF是多值依赖范畴内最高程度的规范化齐冗褪绰阳涯瀑硬蕴杠剐颅济兑时矮涌策碍摈厩署钉汗淫吵衙谣较灸回肃关系数据理论关系数据理论5.2.9 规范化理论v规范化u概念

20、:将一个低一级范式的关系模式分解模式分解为若干个高一级范式的关系模式的过程u目的:设计正确、良好的关系模式u基本思想:逐步消除关系模式的数据依赖中不合适的部分,使模式达到一定程度的分离,但又不丢失原模式中的信息u模式分解的实质:投影峰宫己执嫩牙旅了需丽插济享鉴寨尽袄砍理硫崎娄尾锤墓碰甘核馏拘郑好关系数据理论关系数据理论几个事实v模式分解可以消除冗余,解决更新异常等问题,但也要付出做连接运算等昂贵的代价v需要强调的是:对已知关系模式的范式等级是语义上的,而不仅仅是看某个时刻关系中的数据值,必须考察数据间的依赖v即便是知道了数据依赖,也不能证明一个关系是否3NF。我们只能首先假设这个关系是3NF,

21、而去验证给出的关系中没有违反数据依赖的情形市瞅裳桐盯蛛卞朗匈肘拦殃栗滓旱酮护淤樟常奖个诅变平思司狡示络谋喧关系数据理论关系数据理论规范化理论v如何辨别一个关系模式的“好坏”?u不存在部分和传递函数依赖等“不好”的性质的模式是“好”模式,否则会出现冗余和插入、删除、更新等异常现象v规范化过程是用于设计好的数据库的有力辅助,但并不是唯一的方法v 最初的设计中尽量做到“概念单一化”,即做到让一个关系描述一个概念、一个实体或实体间的一种联系,这样所设计的关系模式将会接近或达到第三范式,甚至达到BCNF痞洋斗训轮乳秒剧剪岭胁泡脊巫蚀荒蜘强耐飘迂封石载心龟陌纺糯砌潞聘关系数据理论关系数据理论规范化过程小结

22、1NF2NF3NFBCNF4NF消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除多值依赖罕蹦褂菇扮越席定歉皮乎锑懊契鬼趁包滁造脏渐盲掳谜龟叠凛衣侣掘至渤关系数据理论关系数据理论练习一v设计关于供应商供应零件的数据库,要求达到3NFv最初的设计:R(S#, Sname, City, Status, P#, Pname, Color, Weight, QTY)u主码:(S#, P#)u函数依赖:S#Sname, S# Status, S# City, City Status, P# Pname, P# Color, P# Weight v可见,其中

23、有部分依赖,还有传递依赖。该模式仅为1NF苦疗脖镭奄灾谅翱泪午堤哺雹本窟拒废矽郑戒缆板析舅程糙室著瘸渐丢赴关系数据理论关系数据理论分解第一步分解,消除部分依赖,得到:R1(S#, P#, QTY),(S#, P#)为码R2(S#, Sname, City, Status), S#为码R3(P#, Pname, Color, Weight), P#为码其中,R1和R3都已达到3NF,但R2还存在传递依赖,仅仅是2NF第二步分解,消除R2中的传递依赖,得到:R2-1(S#, Sname, City), S#为码R2-2(City, Status), City为码这样,R1, R2-1, R2-2和

24、R3就是达到3NF的关系模式。此例中也已达到BCNF渝枚哦逢澜侯掩趾歹叔稠貉垄窖梧砷妄质牛洼谓嫌常稿浓耗怔千慢涡舆版关系数据理论关系数据理论 练习二设计订货系统的数据库,包括顾客、货物和订货单信息v初模式:顾客(顾客号, 收货地址,赊购限额,余额,折扣)货物(货物号,制造厂商,实际存货量,规定的最低存货量,货物描述)订货单(订货单号,顾客号,货物号,订货数量,订货细则, 未发数量,订货日期,经办人)问题分析:v 顾客模式中,顾客号不能唯一决定收货地址v 货物模式中,货物描述部分依赖于码v 订货单模式中,未发数量将随发货过程更新,而其他信息相对静态;v 订货细则有多条襟歼寥沸器茶揣绳直裙梭跨蛋湾

25、哩瘁玄爸真妨烤疏芳仪剑僳赐忍弥殴颂诚关系数据理论关系数据理论 改进模式q顾客及其地址(顾客号, 收货地址)q顾客及其余额(顾客号,赊购限额,余额,折扣)q货物及其厂商(货物号,制造厂商,实际存货量,规定的最低存货量)q货物及其描述-2(货物号,货物描述)q订货单(订货单号,顾客号,货物号,订货数量,订货日期,经办人)q发货(订货单号,未发货量)q发货(订货单号,订货细则)环信罚癸蓟源帮庄奖渭盅译缘暇赃售摈狼揭侩登露狐锯钙平暮昏浚命滚赞关系数据理论关系数据理论练习三欲设计移动公司手机信息管理系统,用于管理: 1、手机销售信息(由营业厅售给用户) 2、手机用户档案信息(用户名,证件号码等) 3、手

26、机通话信息(每一次通话的详细情况) 4、手机话费信息(每月的话费组成)在此基础上实现常用的查询,如: 1、每月手机的销售情况 2、每种机型的销售情况 3、每个营业厅的手机销售情况 4、根据手机号码查询其用户信息 5、根据手机号码查询某时间段内的通话情况 6、每月手机话费收入 7、欠费用户查询试设计合适的数据库,并在此基础上用SQL实现所有的查询燃法乐徐嘻翟曹砒要逞趁撮赊本比品渺塞匣惠崎庞寸替谜喘衅聘非麻判温关系数据理论关系数据理论设计结果q营业厅(营业厅编号,地址,负责人)q销售记录(营业厅编号,机型,数量,日期,经办人)q手机销售单价(机型,单价)q手机用户信息(手机号码,用户名,住址,证件

27、号码)q手机通话记录(手机号码,被叫号码,日期,起始时刻,通话时长)q手机话费信息(手机号码,话费,漫游费,短信费)q话费缴费信息(手机号码,缴费日期,金额,缴费营业厅)丽补爸抵兴湛阎婶旨严忌俩姑吓研处氨档怂迢涝悸路磊沃蟹斯秉名拜湘途关系数据理论关系数据理论定义回顾:函数依赖v设R(U)是属性集U上的关系模式,X,Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定函数确定Y或或Y函数依赖于函数依赖于X,记作XY烹牲赣尔菏苹劣漏湍湖祖埠纂恒针郡诌渤犹悼锦持农鸿永策牵洪兔茁惶彼关系数据理论关系数据理论5.3 Armst

28、rong公理系统v定义:逻辑蕴涵u对于满足一组函数依赖F的关系模式R,其任何一个关系r,若函数依赖XY都成立,则称F逻辑蕴含逻辑蕴含X YvArmstrong公理系统是函数依赖的一个有效而完备的公理系统u可用于从一组函数依赖F求得蕴含(导出)的函数依赖u可用于求得关系模式的码厚宁翼耐涅椒缠馅液做潘例掏遮涌谋竟僧互溢系午蜘藉硼庸佛理裂慌吁浅关系数据理论关系数据理论Armstrong公理系统vArmstrong公理系统uA1自反律:uA2增广律:uA3传递律:vArmstrong公理系统的推理规则u合并规则:u伪传递规则:u分解规则:v引理5.1 (由合并规则和分解规则可得)帘屿惠届婪毒诉摆荡长粮

29、孜扬髓挝阴茸茧冈卖末淫双店泥亨兄尾访炙种摈关系数据理论关系数据理论Armstrong公理系统v定义:闭包u在关系模式R中为F所逻辑蕴含的函数依赖的全体叫做F的闭包,记为F+vArmstrong公理系统是有效的、完备的uArmstrong公理系统的有效性t由F出发根据Armstrong公理导出的每一个函数依赖一定在F+中uArmstrong公理系统的完备性tF+中的每一个函数依赖,必定可以由F出发根据Armstrong公理导出或导出怎样计算F+?怎样判断一个函数依赖一定在闭包中?竞霜径孔纬牧骏唁琐憨钩肠鞋瑞恰怔兵瞧坤梁秽咱比檄欧韦见税份环日扮关系数据理论关系数据理论定义v设F为属性集U上的一组函

30、数依赖,XU, X+FAX A能由Armstrong公理导出, X+F称为属性集X关于函数依赖F的闭包v引理2:设F为属性集U上的一组函数依赖,X,YU,X Y能根据Armstrong公理导出的充分必要条件是Y X+F说明:如果X+F中含有Y,则F逻辑蕴含XY 也是用于判定XY能否由F根据Armstrong公理导出的算法褐惶律歼谬姓核芭纪祭辊扫骨搁统输时疚道诗诈凭董渔肾援亨穆缘甫敢约关系数据理论关系数据理论算法:求属性集X关于函数依赖集F的闭包X+F僵萤骋湖谐刊嚼摘奶碉恍漫恕砌促忧饭爪轨瑟慎溅毫柏猾喷卡邦弱扩至哟关系数据理论关系数据理论例2件砖掘忆肖访非炭作叁箔蔼汞铝空到爆位诀谷侯章愚沙珐逮挑

31、蛋煮汛佬焦关系数据理论关系数据理论练习v假设关系模式为R(A,B,C,D), F=AB,B C,B D,求蕴含于给定函数依赖的所有非平凡函数依赖。v求解方法:求所有属性组合的闭包,从中找出新的非平凡依赖。如:1)A+=ABCD,B+=BCD,C+=C, D+=D,则有新的非平凡依赖为A C, A D2) 两个属性的排列组合,8种新的:AB C, AB D, AC B, AC D, AD B, AD C, BC D, BD C3)三个属性的排列组合,2种新的:ABC D, ABD C4)ABCD+=ABCD,无币奸煤富郭湿宋汪窍胸湾瞒炕乱妈彬役泞蜗悔店淋景卜瑟响墒叹财静朽形关系数据理论关系数据理

32、论定义v如果G+=F+,就说函数依赖集F覆盖G,或F与G等价v引理3:用于判定F与G是否等价的算法郁溅适枝统透愤肛母都庐钳渍枷长扮绵隆钾沛丹阂吊志斯睡渐需急敞低走关系数据理论关系数据理论定义v如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,或称最小依赖集v性质:函数依赖集F的最小函数依赖集不一定唯一,它与求解的次序有关v定理:每一个函数依赖集每一个函数依赖集F均等价于一个最小依赖集均等价于一个最小依赖集Fm这样,R可以用R来取代俘窝赋瑚躺肚鹰皑叁蓄今郎逾睡奶冗舱桨邓次祖刘优庸二颅拾纠瓶尚矛栏关系数据理论关系数据理论算法:求函数依赖F的最小依赖集F邢揪甜职永颜姥盼惺孜拔棒贰庆匈最境才敝

33、趴苯箍届豫席甩钓沽锰淬寒郊关系数据理论关系数据理论例子1)考查AB,去掉它,计算A+=AC,不包含B,不能去掉2)考查 B A,去掉它,计算BB C A,包含A,可去掉它3)考查 B C,去掉它,计算BB,不包含C,不能去掉4)考查A C,去掉它,计算BA B C,包含C,可去掉它5)考查 C A,去掉它,计算CC,不包含A,不能去掉1 2 3 4 5摆斤乃妄船图卒危承嗓浙坷蔼持炒蹿捍岁膘帚虐钎橱咕以骡剥碳涪星颈郁关系数据理论关系数据理论其它例子禁返怜赂愚裸贯婆秤边曾退斟灾溜蝉柱茁茹熔耸段劣稠藻摄脆壳告轰呼效关系数据理论关系数据理论 5.4 模式的分解v分解的目的u解决冗余和异常,提高范式等级

34、v分解的概念u用原关系模式的若干个投影构成新的关系模式,即侵谓瞬夏掌资胃扒嫂抒嘎虾浦凋留眷嫂芋想村指武眺牲万嘲供叶贤苇宾榨关系数据理论关系数据理论关系模式分解应满足的特性v无损连接性(Lossless join)v保持函数依赖性(Preserve dependency)v相互独立性u分解后的关系模式中,当修改某一个关系数据时,不会影响其他关系北厌经瑞左嘻铅欺詹抵谐朴惯尘饼衰讳艘锄荣狗方锦慑袁否文癸燃骡苯稀关系数据理论关系数据理论例子分析v设S-C-M(学号,班级,班主任)F=学号班级,班级班主任,学号班主任存在传递依赖,为2NF有三种分解:该关系属于几范式?范式? 3NF三种特性?广黍骏琵圃甲

35、肮房奥厉巷击蔑噪闽迄敛曹龟抉堑坏策新抄梳芋钙犁坑垫眠关系数据理论关系数据理论例子v教材P188,例4片檬己谷祈滓盒握糕购半御攀联对沦盈哪龄菩矛稗劫舰板落踏祖冈则鞋骸关系数据理论关系数据理论算法:检验一个分解是否具有无损连接性盐样爷迹勘柬枫翱畜瑞猾匈藩均摧吠峭忙霄苗合蛤汹遮圃掏座藻朔丸下藻关系数据理论关系数据理论ABCDEa1a2a3b14b15b21b22a3a4b25b31b32b33a4a5ABCDEa1a2a3a4a5b21b22a3a4a5b31b32b33a4a5初始表:最后结果:R1R2R3R1R2R3122例子:判断无损连接性纂镐耕啮狂请御县惰孔这觅崎空跺瞩俏尹看蕾半抄阔焰怜洽拙

36、薪聚渡躯娃关系数据理论关系数据理论ABCDEa1a2a3a3a4a4a5ABCDEa1a2a3a4a5a3a4a5a4a5初始表:最后结果:R1R2R3R1R2R3122简易方法:只画关注数据踩瓣蛰榜浪雪扶颧捅诛越溅插陋奸榔画灶车步主自嘴镭蛤磨吼溺锄坛孵跑关系数据理论关系数据理论例子vR(A,B,C), F=AB, C Bu分解1=(A,B) AB, (A,C)u分解2=(A,B) AB, (B,C) CBv分析两种分解的无损连接性?u分解1只具有无损连接性, 分解2不具有无损连接性ABCa1a2a1a3ABACa2ABCa1a2a2a3ABBC艾标除缀砒瞄盗躬译淘颓枪门疲籽久会秉铀刽撇订涅厄

37、香耪吕顿拈会利件关系数据理论关系数据理论算法:检验一个分解是否具有保持函数依赖性逾盖差符疥骗嚷肥哲础碟愿酥乳颤唉笔广匀塑周食线塔零铭益镍消滔溉悦关系数据理论关系数据理论例子vR(A,B,C), F=AB, C Bu分解1=(A,B) AB, (A,C) u分解2=(A,B) AB), (B,C) C Bv分析两种分解的依赖保持性?u分解1:只有AB,显然,分解1不具有依赖保持性u分解2:保留了所有函数依赖,具有依赖保持性脚湿酌聪垫萧戏萨成呈茶羽舵鄂锈嗣摇贱辗避赛屈躬坐拯闻膘兆念崭沟耸关系数据理论关系数据理论简单练习:判定无损连接性和函数依赖性v设S-C-M(S学号,C班级,M班主任)F=S学号

38、C班级,C班级M班主任,S学号M班主任鄙悉祖紫崔摇肩车今邮郝邓缺铜民揣玖旁裁仁育召紫亮倚依蔼锯涣另别惫关系数据理论关系数据理论 几个命题v一个无损连接的分解不一定具有依赖保持性,反之亦然v若要求模式分解保持函数依赖,则模式分离总能达到3NF,但不一定能达到BCNFv若要求分解既保持函数依赖,又具有无损连接性,则模式分离可以达到3NF,但不一定能达到BCNFv若要求分解具有无损连接性,则模式分离一定可以达到4NF琢碉分撤罢街僻杨霸嗣跪闭诌赶理甜哇糕凝兑采柿泡蚜诱馁爆垃甲乙咀殉关系数据理论关系数据理论求解关系模式的候选码v属性分类uL类:只出现在函数依赖的左边的属性uR类:只出现在函数依赖的右边的

39、属性uN类:在函数依赖的两边均未出现的属性uLR类:出现在函数依赖的两边的属性v函数依赖图FDGu用有向图表示的函数依赖,如XY即X Y俐琢逮欢怔栏呻连丰琵创恃坤碍杏洞臀褒无娥宴署惫查睛屁过撞酵乍庄榔关系数据理论关系数据理论快速求解候选码的充分条件v对于给定的关系模式R及其函数依赖集Fu如果X是L或N类属性,则X必为R的任一候选码的成员u如果X是R类属性,则X必不在任何候选码中u如果X是L和N类组成的属性组,且X+包含了全部属性,则X是R的唯一候选码洗寞嗡居培的祈茂椎午专昼妙杉台裔几诧熙磅挞胖亿梢诅宠苦零硅戍笑阉关系数据理论关系数据理论算法:对左边为单属性的函数依赖集求所有候选码 (1) 求F

40、的最小依赖集F(2) 作出函数依赖图FDG(3) 从FDG图中找出无入边的属性集X(4) 察看FDG图中有无回路,若无,则输出X并结 束,否则进行下一步(5) 从各独立回路中各取一个结点的属性与X组成一个候选码,重复取得所有可能的组合,即R的全部候选码单属性下求解候选码的充要条件惺步无括跪丙牌芋番槛蔼驾蚜渠功侈法吻评卫俊叛商讹谊吾亡裸灯们睬驯关系数据理论关系数据理论ZWYXSDIBOQIBOQSD闻咸晌拣近毗顷奥风堤磺曰丧喊颐稽堵透蒜纺明疥舅德揩附荒用孟奄府作关系数据理论关系数据理论算法:对左边为多属性的函数依赖集求所有候选码 (1) 将R所有属性分为L,R,N,LR四类,并令X代表L,N两类

41、,令Y代表LR类(2) 求X+,若X+包含R全部属性,则X即为R的唯一候选码,结束,否则转下一步(3) 在Y中取一属性A,求(XA)+,若它包含R的全部属性,则转下一步,否则换一个属性重试,直至试完所有Y中的属性(4) 若已找出所有候选码,则结束,否则在Y中依次取两个、三个、,求它们的属性闭包,直至其闭包包含R的全部属性多属性下求解候选码的充分条件酥讯辫饰歧茁铂员增乡迭岁履纬易独彰踌撒价伶鸵啃宦沁私径唁谣芜巴三关系数据理论关系数据理论寝零鲍脾券记拱葵称却玉肘琶罩遁塞佃真藏继脆痰杖免孰琴仪冲随多俘寅关系数据理论关系数据理论算法:求R的保持函数依赖的3NF分解涡朝次叛治惭讳垄盂搅忙附站争瞬劣探粱怯御饵茁塔师你蓉持鱼缄胳瀑虚关系数据理论关系数据理论算法:求R的无损连接且保持函数依赖的3NF分解惭淆徊晾推缎差腮鼠窿骑怜厘诅绩空抖及膏尉夯裔颗赏痘滇额傅曹普皋拜关系数据理论关系数据理论爬煌罐酉钞车剁潍叶月并翠蚀部擂画戌素耽隆萤匿简气枝销残有拐校侵采关系数据理论关系数据理论饮狼膊竹析曼门宽涩久依簿冶咀干览癌衣炉谊躇樊摈榜二客搞且萤契雅衫关系数据理论关系数据理论作业vP196 习题1,2,9,12v思考:10,11,自由选做噪龚帚旦复满碱贫傅幽侄股哟彰穿刑柱讨政圾帚巧族案旬重鲜尼旗风舞肢关系数据理论关系数据理论

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号