第六章关系数据库设计理论(2012-课件.ppt

第六章关系数据库设计理论(2012-课件.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.4.3 函数依赖集的等价和最小化 最小依赖集 定义6.17 如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集,亦称为最小依赖集或最小覆盖: (1) F中任一函数依赖的右部仅含有一个属性。 (2) F中不存在这样的函数依赖X→A,使得F与 F- {X→A}等价。 (3) F中不存在这样的函数依赖X→A, X有真子集Z使得(F - {X→A})∪{Z→A}与F等价。 6.4.3 函数依赖集的等价和最小化 例: 对于关系模式SU,F,其中: U={SNO,SDEPT,MN,CNAME,G }, F={SNO→SDEPT, SDEPT→MN, (SNO,CNAME)→G} 设:F’={SNO→SDEPT, SNO→MN, SDEPT→MN, (SNO,CNAME)→G, (SNO,SDEPT)→SDEPT } F是最小覆盖,而F’不是 因为:F’-{SNO→MN}与F ’等价 F’-{(SNO,SDEPT)→SDEPT}也与F ’等价 6.4.3 函数依赖集的等价和最小化 定理6.1 每一个函数依赖集F均等价于一个极小函数依赖集Fm,此Fm称为F的最小依赖集。 求解过程:依据定义分三步对F进行“极小化处理”,找出F的一个最小依赖集: (1) 逐一检查F中各函数依赖FDi:X→Y 若Y=A1A2 …Ak,k 2, 则用 { X→Aj |j=1,2,…, k} 来取代X→Y。 理由:引理6.1保证了F变换前后的等价性。 6.4.3 函数依赖集的等价和最小化 (2)逐一检查F中各函数依赖FDi:X→A 令G=F-{X→A}, 若A?XG+, 则从F中去掉此函数依赖。 理由:由于F与G =F-{X→A}等价的充要条件是A?XG+ ,因此F变换前后是等价的。 6.4.3 函数依赖集的等价和最小化 (3)逐一取出F中各函数依赖FDi:X→A 设X=B1B2…Bm, 逐一考查Bi (i=l,2,…,m), 若A ?(X-Bi )F+ , 则以X-Bi 取代X。 理由:由于F与(F-{X→A})∪{Z→A}等价的充要条件是A?ZF+ ,其中Z=X-Bi ,因此F变换前后是等价的。即:若A?ZF+ ,则说明Z→A ? F+ ,又由Z ?X,则 X→A ? F+ ,用Z取代X即可。 6.4.3 函数依赖集的等价和最小化 例:已知关系模式RU,F,U={A,B,C,D,E,G};F={AB→C,C→A,CG→BD,ACD→B},求F的最小函数依赖集。 (1) 分解右边: F={AB→C,C→A,CG→B,CG→D,ACD→B} (2)去掉F中多余的函数依赖: 检查AB→C: G=F-{AB?C}={C→A,CG→B,CG→D,ACD→B} 则:ABG+ = {AB}, C?{AB} 保留AB?C: F = {AB→C,C→A,CG→B,CG→D,ACD→B} 6.4.3 函数依赖集的等价和最小化 检查C→A: G=F-{C?A}={AB→C, CG→B, CG→D, ACD→B} 则:CG+ = {C}, A ? {C} 保留C?A:F = {AB→C,C→A,CG→B,CG→D,ACD→B} 检查CG→B: G=F-{CG?B}={AB→C, C→A, CG→D, ACD→B} 则:CGG+ = {ABCDG}, B ? {ABCDG } 删除CG?B: F = {AB→C, C→A, CG→D, ACD→B} 6.4.3 函数依赖集的等价和最小化 检查CG→D: G=F-{CG?D}={AB→C, C→A, ACD→B} 则:CGG+ = {ACG}, D ?{ACG } 保留CG?D: F = {AB→C, C→A, CG→D, ACD→B} 检查ACD→B: G=F-{ACD?B}={AB→C, C→A, CG→D} 则:ACDG+ = {ACD}, B ?{ACD} 保留ACD?B: F = {AB→C, C→A, CG→D, ACD→B} 则: F = {AB→C, C→A, CG→D, ACD→B} 6.4.3 函数依赖集的等价和最小化 (3)去掉F中各依赖左部多余的属性: 检查AB→C: G=F-{AB?C}={C→A, CG→D, ACD→B} 由于:AG+ = {A}, BG+ = {B} 保留AB?C: F = {AB→C, C→A, CG→D, ACD→B} F = {AB→C, C→A, CG→D, ACD→B}

文档评论(0)

秦圈圈 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档