# Dependency preserving and lossless join decompositions

I have a relation:

``````R = {A, B, C, D, E, F, G, H, I, J}
``````

And a set of functional dependencies:

``````G = {AB -> C, A -> DE, B -> F, F -> GH, and D -> IJ}
``````

I ended up decomposing into two decompositions.

``````D1 = {R1, R2, R3, R4, R5}

R1 = {A, B, C}
R2 = {A, D, E}
R3 = {B, F}
R4 = {F, G, H}
R5 = {D, I, J}

D2 = {R1, R2, R3, R4, R5}

R1 = {A, B, C, D}
R2 = {D, E}
R3 = {B, F}
R4 = {F, G, H}
R5 = {D, I, J}
``````

How can I prove that D1, D2 are dependency preserving and lossless join decompositions?

Related question that got me as far as the decompositions but I am lost. 2NF decomposition + database normalization

• I don't think that D2 decomposition is correct. The `A->DE` information is not preserved. – ypercubeᵀᴹ Jan 12 '15 at 11:04

## 1 Answer

As far as I understand the theory, if you can join your decompositions and arrive back at your relation with no loss, that's it.

It looks to me like AB, A, B, F, D are the keys to do so.