Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have a relation

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

And functional dependencies

F ={
ABC -> DE
E -> C
AB -> F
C -> G
F -> H
H -> IJ
F -> B
}

I am able to do simple BCNF decomposition but I can't decompose this. I have ABC as the only candidate key. Then I split it into two relations to get rid of the first FD that breaks BCNF, E -> C, giving me the relations

{ A, B, D, E, F, G, H, I, J } and { E, C }

But now straight away I have lost the candidate key from the first relation. So does this mean I have now have to find a new candidate key for the first relation and then continue with the process of decomposing it until we are left with no relations that violate BCNF? Could someone show me how to work out this decomposition?

share|improve this question
    
Are you sure ABC is the only candidate? Why not ABE or AFC? –  ypercube Mar 19 '13 at 18:38
    
Yes, you're right. What is the best way of determining the candidate keys from functional dependencies? Doing it by observation is too prone to mistakes it seems. –  csss Mar 19 '13 at 19:29
    
youtube.com/watch?v=s1DNVWKeQ_w –  Imray Jan 14 at 23:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.