第六章 关系数据理论
(我们数据库老师给的资料,蛮有用的,分享下)
一、求最小依赖集
例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。
解:
1、将依赖右边属性单一化,结果为:
F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,
CE→G }
2、在F1中去掉依赖左部多余的属性。对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD) =ABCEDG,故A是多余的。删除依赖左部多余的依赖后:
F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G }
3、在F2中去掉多余的依赖。对于CG→B,由于(CG) =ABCEDG,故CG→B是多余的。删除依赖左部多余的依赖后:
F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G }
CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。
二、求闭包
例:关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE) 。
解:令X={AE},X(0)=AE;
计算X(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:A→D,E→C。于是X(1)=
联系客服