- 1、本文档共166页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章-DataBase规范化解析
第四种分解方法 将SL分解为下面二个关系模式: ND(Sno, Sdept) DL(Sdept, Sloc) 这种分解方法就保持了函数依赖。 模式的分解(续) 如果一个分解具有无损连接性,则它能够保证不丢失信息。 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。 模式的分解(续) 第一种分解方法既不具有无损连接性,也未保持函 数依赖,它不是原关系模式的一个等价分解 第二种分解方法保持了函数依赖,但不具有无损连 接性 第三种分解方法具有无损连接性,但未持函数依赖 第四种分解方法既具有无损连接性,又保持了函数 依赖 分解算法 算法6.2 判别一个分解的无损连接性 算法6.3 (合成法)转换为3NF的保持函数依赖的分解。 算法6.4 转换为3NF既有无损连接性又保持函数依赖的分解 算法6.6 转换为BCNF的无损连接分解(分解法) 算法6.6 达到4NF的具有无损连接性的分 解P196 图6 .11 分解算法 解P196 图6 .11 若要求分解具有无损连接性,那么模式分解一定能够达到4NF。 若要求分解保持函数依赖,那么模式分解一定能够达到3NF,但不一定能够达到BCNF。 若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。 泛关系假设 “假设已知一个模式Sφ,它仅由单个关系模式组成,问题是要设计一个模式SD,它与Sφ‘等价’,但在某些方面更好一些” 从一个关系模式出发,而不是从一组关系模式出发实行分解 “等价”的定义也是一组关系模式与一个关系模式的“等价” 小结(续) 规范化理论为数据库设计提供了理论的指南和工具 也仅仅是指南和工具 并不是规范化程度越高,模式就越好 必须结合应用环境和现实世界的具体情况合理地选择数据库模式 下课了。。。 休息一会儿。。。 6. 最小依赖集 定义6.16 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。 (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖X→A,使得F与 F-{X→A}等价。 (3) F中不存在这样的函数依赖X→A, X有真 子集Z使得F-{X→A}∪{Z→A}与F等价。 (2)举例 Student(S#,Sname,Age, Sex) F1={S#→Sname, S#→age, S#→sex}是最小函数依赖集 F2={S#→{S#,Sname}, S#→age, S#→sex}不是最小函数依赖集【右边不是单属性】 F3={S#→Sname, {S#,Sname}→age, S#→sex}不是最小函数依赖集【左部可约】 F4={S#→S#, S#→Sname, S#→age, S#→sex}不是最小函数依赖集【FD可删除】 7. 极小化过程 定理6.3 每一个函数依赖集F均等价于一个极小 函数依赖集Fm。此Fm称为F的最小依赖集 证:构造性证明,依据定义分三步对F进行“极小化处理”,找出F的一个最小依赖集。 (1)逐一检查F中各函数依赖FDi:X→Y, 若Y=A1A2 …Ak,k = 2, 则用 { X→Aj |j=1,2,…, k} 来取代X→Y。 (分解规则) 极小化过程 (2)逐一检查F中各函数依赖FDi:X→A, 令G=F-{X→A}, 若A?XG+, 则从F中去掉此函数依赖。(FD不包含无关属性) 由于F与G =F-{X→A}等价的充要条件是A?XG+ 因此F变换前后是等价的。 极小化过程 (3)逐一取出F中各函数依赖FDi:X→A, 设X=B1B2…Bm, 逐一考查Bi (i=l,2,…,m), 若A ?(X-Bi )F+ , 则以X-Bi 取代X。 (FD的左部都是唯一出现) 由于F与F-{X→A}∪{Z→A}等价的充要条件是A?ZF+ ,其中Z=X-Bi 因此F变换前后是等价的。 极小化过程 由定义,最后剩下的F就一定是极小依赖集。 因为对F的每一次“改造”都保证了改造前后的两个函数依赖集等价,因此剩下的F与原来的F等价。 证毕 定理6.3的证明过程 也是求F极小依赖集的过程 函数依赖的等价和覆盖 示例一 F = {
文档评论(0)