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. – ypercubeᵀᴹ Jan 12 '15 at 11:04

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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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