6.14

Explain the distinctions among the terms primary key, candidate key, and superkey.


A superkey is a set of one or more attributes that, taken collectively, allow us to identify uniquely a tuple in the relation.

A candidate key is a superkey for which no proper subset is a superkey.

A primary key is a candidate key that is chosen by the database designer as the principal means of identifying tuples within a relation.