71
P.A. Bernstein, S. Melnik: Meta Data Management, ICDE'04 Boston
Change propagation
s1_s2
s1_d1
PropagateDeletions
(added)
Diff
script PropagateChanges(s1, d1, s1_d1, s2, s1_s2)
1.ád1¢, d1_d1¢ñ = PropagateDeletions(s1, d1, s1_d1, s2, s1_s2);
2.ás2¢, s2_s2¢ñ = Diff(s2, Invert(s1_s2));
3.ád2, d2_s2¢, d2_d1¢ñ = Merge(s2¢, d1¢, Invert(s1_s2 ○ s2_s2¢) ○ s1_d1 ○ d1_d1¢);
4. d1_d2 = (Invert(s1_d1) ○ s1_s2 ○ s2_s2¢○ Invert(d2_s2¢ )) Å (d1_d1¢ ○ Invert(d2_d1¢));
5. s2_d2 = (Invert(s1_s2) ○ s1_d1 ○ d1_d1¢ ○ Invert(d2_d1¢)) Å (s2_s2¢ ○ Invert(d2_s2¢));
6.return ád2, d1_d2, s2_d2ñ;
(w/o deleted)
s2_d2
Merge
s1
s2
d1
d1¢
s2¢
d2