Functional Dependencies and Candidate key

218 views Asked by At

Suppose we have functional dependencies B->A, A->C defined on a relation R(A,B,C). Here B->AC (from given functional dependencies), So is B candidate key?

I read in textbooks that if a particular attribute is able to uniquely identify all attributes in a relation then it qualifies to be a candidate key. So according to that B should be a candidate key.

But if I have a table.

B A C

1 3 2

1 3 2

In this table B->AC so B should be candidate key but wikipedia (https://en.wikipedia.org/wiki/Candidate_key) says it should be unique. So is B a candidate key in this table?

I am confused.

1

There are 1 answers

4
Renzo On BEST ANSWER

The reason of the confusion comes from the fact that your example is not a set, but a multiset (i.e. a collection with repeated values), while the normalization theory can be applied only to sets.

So, even if in multisets one could have functional dependencies, (and implications of functional dependencies, too), there is no concept of candidate key, that has sense only on proper sets, since it is an attribute or set of attributes that uniquely identifies all the elements of the set.