I have a homework question that I am trying to understand but having a tough time with this question. Any explanation or even pointers would be very appreciated (no exact answer expected - I am trying to learn - but any help would be great).

I have two relations with a set of explicitly defined constraints.

D = {R1:CDE, R2:FGH}  Constraints = {R1: CD->E, R2:key(G), R1[DE] subset R2[FG]}

Are the two relations (D={R1 and R2}) in BCNF?

Thank you for any guidance you can provide.


A relation is in BCNF if every determinant of the non-trivial dependencies is a superkey.

If G is the key of R2, we know that G → F and G → H.

Since DE in R1 is a subset of FG in R2, and since G → F, we can easily prove that E → D in R1.

If no other constraint holds on R1, then we can calculate the candidate keys of R1 starting from the two dependencies CD → E and E → D, and see if R1 is in BCNF or not.

Finally note that, if no other constraint is known on R2 a part from the key, it is very easy to decide if it in BCNF or not.

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.