- 11
- 0
- 约1.96万字
- 约 61页
- 2017-05-21 发布于河南
- 举报
最小函数依赖
6.4.2 分解的无损连接性 1)无损连接分解的定义 定义6.12(无损连接分解,即连接不失真分解):设关系模式R(U,F)上的一个分解为ρ={R1(U1,F1),R2(U2,F2),…,Rk(Uk,Fk)},F是R(U,F)上的一个函数依赖集。如果对R中满足F的任一关系r都有 则称这个分解ρ相对于F的是连接不失真分解或称无损连接分解。 对于关系模式R关于F的无损连接条件是: 任何满足F的关系r有r = mρ(r)。 r 和mρ(r)之间的联系 定理6.4:设R是一关系模式,ρ={R1(U1,F1),R2(U2,F2),…,Rk(Uk,Fk)}是关系模式R的一个分解,r是R的任一关系,(1≤i≤k),那么有: ① ; ② 如果s= mρ(r),则 ,或 ③ mρmρ(r)= mρ(r) 定理6.4证明 ② 由定理6-5①可知 ,可得到 ,即 (因为s= mρ(r))(也就是两边同时在Ui上投影,得 )。 为了证明 。假设 ,则s中必存在满足t[Ri]=ti的元组t。由于t∈s,对每个j,在rj中必存在元组uj满足t[Rj]=uj (1≤j≤k),即 。 于是对那个特定的i,亦有t[Ri]=ui,即t[Ri]∈ri。但t[Ri]=ti,所以ti∈ri,从而得到 (即 )。 由 和 可得 (即 )。 ③ 由定理6-5①可知 (i=1,2,…,k),于是有 。 此式左式=mρ(s)= mρmρ(r)(由②得),右式= =mρ(r), 因此得:mρmρ(r) =mρ(r) 该定理③说明,关系模式只有在第一次分解的连接恢复后有可能丢失信息,此后的多次分解恢复均能使分解不失真 证明:① 设任意一个元组t∈r,ti=t[Ui](i=1,2,…,k);则ti∈Ri。根据自然连接定义,可知t在 中,即t∈mρ(r),所以 。 该定理①说明,一个关系模式经分解再连接恢复所得的新关系mρ(r)的元组一般比原关系的元组要多,而且mρ(r)一定包括原关系的元组。 只有当r= mρ(r)时,分解才是连接不失真分解。 2)无损连接的检验 方法1:采用检验表格构造法 算法6.2:连接不失真检验 方法 1: (1)构造一个n列k行表,每一行对应于一个模式Ri(1≤i≤k),每一列对应于一个属性Aj(1≤j≤n),如下表所示。 A1 A2 … An R1 ? ? ? ? R2 ? ? ? ? … ? ? ? ? Rk ? ? ? ? (2) 初始表(填表):若Aj∈Ri,则第i行第j列上填入aj,否则填入bij。 (3) 修改表:反复检查F中的每一个函数依赖X→Y,按下方法修改表格中的元素:取F中的函数依赖X→Y,检查Y中的属性所对应的列,找出X相等的那些行,将这些X的符号相同的行中的Y的属性所对应的符号改成一致。即如果其中有aj,则将bij改为aj;若无aj,则将它们全改为bij。一般取i是为其中的最小行号值。 (4) 如发现某一行变成a1,a2,…,ak,则此分解ρ具有连接不失真性。 事例说明 例:设有R(U,F),其中:U =(A,B,C,D,E), F=(A→C,B→C,C→D,DE→C,CE→A),R的一个分解为: ρ={R1(AD),R2 (AB),R3(BE) ,R4(CDE) ,R5(AE)}是否无损分解? 根据算法6.2中(1)和(2)构造初始表,如表(a)所示。 根据A→C,对表(a)进行处理,将b13、b23、b53改成同一符号b13,即b13=b23=b53。再根据B→C,将b
原创力文档

文档评论(0)