Candidate Key: In a relation R, a candidate key for R is a subset of the set of attributes of R, which have the differnt two properties:
(1) Uniqueness: No two distinct tuples in R have the similar value for the candidate key
(2) Irreducible: No correct subset of the candidate key has the uniqueness property that is the candidate key.
Each relation must have at least one candidate key which cannot be reduced more. Duplicate tuples are not permitted in relations. Any candidate key can also be a composite key. For instance, (student-id + course-id) together can create the candidate key of a relation known as marks (student-id, course-id, marks).
Let us review the properties of a candidate key.
Properties of a candidate key
- A candidate key has to be unique and irreducible
- A candidate might be involving one or more than one attributes. A candidate key that contains more than one attribute is said to be composite.
But why are we interested in candidate keys?
Candidate keys are essential because they give the basic tuple-level identification mechanism in a relational system.
For instance, if the enrolment number is the candidate key of a STUDENT relation, then the solution of the query: "Find student details from the STUDENT relation having enrolment number A0123" will output at most one tuple.