# Question on Dependency Preserving Decomposition

## Question on Dependency Preserving Decomposition

Question 1:
R(ABCD)
F = {A → B, B → C, C → D, D → A}
D = {AB, BC, CD}
Check whether the decomposition is preserving dependency or not ?
Solution :
The following dependencies can be projected into the following decomposition :
 R1(AB) R2(BC) R3(CD) A→B B→C C → D
Inferring reverse FDs which fits into the decomposition-
B+ w.r.t F = {BCDA} ⇒ B → A
C+ w.r.t F = {CDAB} ⇒ C → B
D+ w.r.t F = {DABC} ⇒ D → C

So, the table will be updated as -
 R1(AB) R2(BC) R3(CD) A→B B→A B→C C→B C → D D→C
Checking D → A preserves dependency or not -
Compute D+ w.r.t updated table FDs :
D+ = {DCBA}
as closure of D w.r.t updated table FDs contains A. So D→A preserves dependency.
Question 2:
R(ABCDEF)
F = {AB → CD, C → D, D → E, E → F}
D = {AB, CDE, EF}
Check whether the decomposition is preserving dependency or not ?
Solution :
The following dependencies can be projected into the following decomposition :
 R1(AB) R2(CDE) R3(EF) C→D D→E E → F
Inferring reverse FDs which fits into the decomposition-
D+ w.r.t F = {DEF}
E+ w.r.t F = {EF}
F+ w.r.t F = {F}
No reverse FDs can be derived.

Checking AB → CD preserves dependency or not -
Compute AB+ w.r.t table FDs :
AB+ = {AB}
as closure of AB w.r.t table FDs does not contains CD. So AB→CD preserves dependency.
Question 3:
R(ABCDEG)
F = {AB → C, AC → B, BC → A, AD → E, B → D, E → G}
Check whether the decomposition is preserving dependency or not ?
Solution :
The following dependencies can be projected into the following decomposition :
Inferring reverse FDs which fits into the decomposition-
C+ w.r.t F = {C}
B+ w.r.t F = {BD}
A+ w.r.t F = {A}
E+ w.r.t F = {EG}
No reverse FDs can be derived.

Checking B → D preserves dependency or not -
Compute B+ w.r.t updated table FDs :
B+ = {B}
as closure of B w.r.t table FDs doesn't contains D. So B→D doesn't preserves dependency.

Checking E → G preserves dependency or not -
Compute E+ w.r.t updated table FDs :
E+ = {E}
as closure of E w.r.t table FDs doesn't contains G. So E→G doesn't preserves dependency.
Question 4:
Let R(ABCD) be a relational schema with the following functional dependencies :
F = {A → B, B → C, C → D, D → B}. The decomposition of R into
D = {AB, BC, BD}
Check whether the decomposition is preserving dependency or not ?
Solution :
The following dependencies can be projected into the following decomposition :
 R1(AB) R2(BC) R3(BD) A→B B→C D → B
Inferring reverse FDs which fits into the decomposition-
B+ w.r.t F = {BCD} ⇒ B → D
C+ w.r.t F = {CDB} ⇒ C → B

So, the table will be updated as -
 R1(AB) R2(BC) R3(CD) A→B B→C C→B D→B B→D
Checking C → D preserves dependency or not -
Compute C+ w.r.t updated table FDs :
C+ = {CBD}
as closure of C w.r.t updated table FDs contains D. So C→D preserves dependency.
Question 5:
R(ABCDE)
F = {A → BC, CD → E, B → D, E → A}
D = {ABCE, BD}
Check whether the decomposition is preserving dependency or not ?
Solution :
The following dependencies can be projected into the following decomposition :
 R1(ABCE) R2(BD) A→B A→C E→A B→D
Inferring reverse FDs which fits into the decomposition-
B+ w.r.t F = {BD}
C+ w.r.t F = {C}
A+ w.r.t F = {ABCDE} ⇒ A → E
D+ w.r.t F = {D}

So, the table will be updated as -
 R1(AB) R2(BC) A→B A→C E→A A→E B→D
Checking CD → E preserves dependency or not -
Compute CD+ w.r.t updated table FDs :
CD+ = {CD}
as closure of D w.r.t updated table FDs doesn't contains E. So CD→E doesn't preserves dependency.

### Incoming search terms:

• dependency preserving for gate
• compute closer F=(A- >bc cd->e b->d e>)
• dependency preservation gate question