Dependency preserving decomposition - Dependency preserving decomposition solved exercises - How to verify that a decomposition is dependency preserving? - Steps to find dependency preserving decomposition - Dependency preserving decomposition examples
Dependency preserving decomposition
Consider a relation R (A, B, C) with
the following set of functional dependencies;
F = {A → B, B → C}.
Is the decomposition of R (A, B, C)
into R1 (A, C) and R2 (B, C) a dependency preserving decomposition?
Solution:
The above said decomposition of R into
R1 and R2 is a dependency preserving decomposition if (F1 U F2)+
= F+, where F1 is set of FDs hold by R1, F2 is
set of FDs hold by R2, and F is the set of FDs hold by R. (F1 U F2)+
is the closure of (F1 U F2), and F+ is
the closure of F.
Step 1: for R1, the non-trivial
functional dependency is A →
C. Hence F1 = {A →
C}.
Step 2: for R2, the non-trivial
functional dependency is B →
C. Hence, F2 = {B → C}.
Step 3: find F1 U F2 and the closure of F1 U F2.
F1
U F2
= {A → C,
B → C}
≠ F.
(F1 U F2)+ = {A → C, B → C}
F+ = {A → B, B → C, A → C}
And, (F1 U F2)+ ≠ F.
The FD A → B is not supported by (F1
U F2)+. Hence, the decomposition of R (A, B, C) into R1
(A, C) and R2 (B, C) is not a dependency preserving decomposition.