Zephyr
Zephyr

Reputation: 1621

Functional Dependencies and Candidate key

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.

Upvotes: 0

Views: 211

Answers (1)

Renzo
Renzo

Reputation: 27424

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.

Upvotes: 1

Related Questions