Суперключ, который не содержит подмножества, также являющегося суперключом данного отношения, называется кандидатным ключом.
Давайте разберем это понятие более подробно:
- Суперключ - это множество атрибутов (полей), которое может однозначно идентифицировать каждую запись в таблице. То есть, если вы возьмете набор атрибутов, который является суперключом, вы сможете уникально определить каждую строку в таблице.
- Кандидатный ключ - это особый тип суперключа. Он также может уникально идентифицировать записи, но при этом не содержит никаких лишних атрибутов. Это означает, что если вы уберете любой атрибут из кандидатного ключа, он перестанет быть суперключом.
- Таким образом, каждый кандидатный ключ является суперключом, но не каждый суперключ является кандидатным ключом. Кандидатные ключи - это минимальные суперключи.
Пример: если у нас есть таблица "Студенты" с атрибутами "ID", "Фамилия" и "Имя", то:
- Суперключами могут быть: {"ID"}, {"Фамилия", "Имя"}, {"ID", "Фамилия"}, {"ID", "Имя"}
- Кандидатным ключом будет только {"ID"}, если "ID" уникален для каждого студента.
Таким образом, кандидаты на ключи - это те суперключи, которые не могут быть уменьшены без потери их уникальности.