McAdam331 McAdam331 - 8 days ago 5
MySQL Question

Is a candidate key determinant good enough for BCNF?

A question that came up in my homework is as follows:


  • If a determinant is part of a candidate key, is that good enough for BCNF?



I don't think so, because a relation is in BCNF if all non-key attributes depend on the whole primary key, and nothing else. This says the determinant is part of a candidate key, so does this imply a partial functional dependency?

However, I began to second guess myself because there's a possibility that the candidate key is a super key, but it doesn't seem like that is the case.

What do you think?

Answer

What does the question mean by "part"? Some but not all of? Some or all of? What do you mean by it?

The definition of partial functional dependency uses "partial" to mean some but not all of.

Check definitions of BCNF. The one that requires that no non-prime attribute be partially functionally dependent on any key also requires other things than you wrote. So your "if" is not correct. But if the assignment question's "part" means "part of but not all of" as in "partially dependent" then by the relevant definition of BCNF the relation is not in BCNF.

All candidate keys are superkeys. But the candidate keys are the superkeys that do not contain any smaller superkeys. Superkeys are involved in a different form of the definition of BCNF. But if BCNF is violated according to one definition and what you know, it can't possibly be allowed by another one.