- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法5 转换为BCNF的无损连接分解。 例, 设关系模式W(CTHRSG)的属性分别表示课程名、任课教师名、上课时间、上课教室、选修的学生学号、成绩等含义。W上的函数依赖集F: {C → T,HR → C,TH→R,CS → G,HS → R} 显然,模式W上只有一个键,是HS。 解:要把W分解成BCNF模式集,可以首先考虑CS → G,据算法,应把CTHRSG分解成CSG和CTHRS。为进一步分解,计算出πCSG (F)={CS → G }, πCTHRS (F) ={C → T,HR →C,TH → R,HS → R}。模式CTHRS的键是HS。 算法5 转换为BCNF的无损连接分解。 显然CSG已是BCNF,而CTHRS必须进一步分解。如考虑C→T,则把CTHRS分解成CT和CHRS, πCT (F) ={C →T}, πCHRS (F) ={CH → R,HS → R,HR → C}。HS是CHRS的键。 CHRS再分解一次,利用CH→R分解成CHR和CHS,2模式均满足BCNF。 分解结束。 分解树 算法5 转换为BCNF的无损连接分解。 W分解成ρ={CSG,CT,CHR,CHS},其中四个关系模式分别描述: ①学生的各门课程成绩(CSG) ②每门课程的任课教师(CT) ③每门课程的上课时间和教室 (CHR) ④每个学生的上课时间表(CHS) ρ是转换为BCNF的无损连接分解,但分解中有一个问题,TH→R在分解时未能保持。在CTHRS分解成CT和CHRS时, TH→R丢失了。 3.9.4 模式分解算法 算法6 达到4NF的具有无损连接性的分解 首先使用算法5得到R的一个达到了BCNF的无损连接分解ρ。然后对某一RiUi,Di , 若不属于4NF,则可按下述定理的作法进行分解。直到每个关系模式均属于4NF为止。 定理 若RU,D中X→→Y成立,则R的分解 ρ={R1(X,Y),R2(X,Z)} 具有无损连接性。 其中Z=U-X-Y。 算法6 达到4NF的具有无损连接性的分解 例,TEACHING(C,T,B)的码是A1l_Key。TEACHING∈BCNF,但TEACHING∈4NF 将模式TEACHING分解为: CT(C,T)和CB(C,B),均满足4NF 数据依赖的一个有效且完备的公理系统 关系模式RU,D,U是属性总体集,D是U上的一组数据依赖(函数依赖和多值依赖),对于包含函数依赖和多值依赖的数据依赖有—个有效且完备的公理系统。 A1:若Y?X?U,则X→Y; A2:若X→Y为F所蕴含,且Z?U,则XZ→YZ。 A3:若X→Y,Y→Z,则X→Z A4:若X→→Y ,V ? W ? U,则XW → → YV A5:若X→→Y ,则X→→U-X-Y A6:若X→→Y ,Y→→Z,则X→→Z-Y A7:若X→Y,则X→→Y A8:若X→→Y,W→Z,W∩Y=Φ,Z?Y,则 X→Z。 公理系统的有效性是指从D出发根据8条公理推导出的函数依赖或多值依赖一定为D蕴含;完备性是指凡D所蕴含的函数依赖或多值依赖均可以从D根据8条公理推导出来。也就是说,在函数依赖和多值依赖的条件下,“蕴含”与“导出”仍是等价的。 数据依赖的一个有效且完备的公理系统 3.9.5 模式分解小结 关于模式分解的几个重要事实: (1)若要求分解保持函数依赖,那么分解总可以达到3NF,但不一定能达到BCNF。 (2)若要求分解既保持函数依赖,又具有无损连接性,可以达到3NF,但不一定能达到BCNF。 (3)若要求分解具有无损连接性,那一定可达到4NF。 3.9.5 模式分解小结 数据库设计者在进行关系数据库设计时,应作权衡,尽可能使数据库模式保持最好的特性。一般尽可能设计成BCNF模式集。如果设计成BCNF模式集时达不到保持FD的特点,那么只能降低要求,设计成3NF模式集,以求达到保持FD和无损分解的特点。 3.10 本章小结 关系模式的规范化过程实际上是一个“分解”过程:把逻辑上独立的信息放在独立的关系模式中。分解是解决数据冗余的主要方法,也是规范化的一条原则:“关系模式有冗余问题就分解它”。 要设计好的数据库模式,必须有一定的理论为基础。这就是模式规范化理论。 知识回顾Knowledge Review 3.9 (关系)模式的分解 分解的定义: 关系模式RU,F的一个分解是指ρ ={R1U1,F1,R2U2,F2,…,RnUn,Fn} 其中U=U1∪U2∪…∪Un ,并且不存在Ui ? Uj,1≤i,j≤n,Fi
原创力文档


文档评论(0)