Потенциальный ключ

Потенциальный ключ (англ. candidate key, также в русскоязычных источниках используется термин возможный ключ[1]) — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и несократимости (минимальности)[1][2][3]:

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

Система баз данных не способна самостоятельно определять потенциальные ключи, это может делать только проектировщик базы данных, исходя из знаний о предметной области. Проектировщик должен выявлять и явно определять все потенциальные ключи, поскольку в результате такого объявления система управления базами данных получает информацию, которую в дальнейшем использует для проверки данных на корректность. Таким образом, определение потенциального ключа является ограничением целостности[1].

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

В отношении может быть одновременно несколько потенциальных ключей. Один из них может быть выбран в качестве первичного ключа отношения, тогда другие потенциальные ключи называют альтернативными ключами. Теоретически, все потенциальные ключи равно пригодны в качестве первичного ключа, на практике в качестве первичного обычно выбирается тот из потенциальных ключей, который имеет меньший размер (физического хранения) и/или включает меньшее количество атрибутов.

Кристофер Дейт отмечает, что при хотя свойство несократимости в литературе часто обозначается термином минимальность, последний термин является не вполне подходящим, поскольку может навести кого-либо на мысль о том, что из нескольких потенциальных ключей минимальным является ключ с наименьшим количеством атрибутов. Поэтому Дейт предпочитает термин несократимость[2].

См. такжеПравить

ПримечанияПравить

ЛитератураПравить