Суперключ

Суперключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованию уникальности: не существует двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).

Суперключ отличается от потенциального ключа тем, что на суперключ не накладывается требование минимальности, или несократимости (это требование означает, что в составе ключа отсутствует меньшее подмножество атрибутов, удовлетворяющее условию уникальности). Вследствие этого в состав суперключа может входить другой, более «компактный» по количеству атрибутов суперключ.

Таким образом, потенциальный ключ может быть определён как суперключ, обладающий свойством минимальности (несократимости).

Поскольку все кортежи в отношении по определению уникальны, в нём всегда существует хотя бы один суперключ (например, включающий все атрибуты отношения).

Пример править

Английские монархи

Имя монарха Номер монарха Династия
Эдуард II Плантагенет
Эдуард III Плантагенет
Ричард II Плантагенет
Генрих IV Ланкастер

Если исходить из того, что уникально имя монарха, уточнённое номером, то в этом отношении суперключами являются:

  • {Имя монарха, Номер монарха}
  • {Имя монарха, Номер монарха, Династия}.

При этом потенциальным ключом является только первый суперключ.