文档详情

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

发布:2018-09-05约1.89万字共88页下载文档
文本预览下载声明
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}
显示全部
相似文档