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

  • 2
    I don't think that D2 decomposition is correct. The A->DE information is not preserved. Jan 12, 2015 at 11:04

1 Answer 1


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.