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

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

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

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

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

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

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

Первичные и альтернативные ключи

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

Теоретически, все потенциальные ключи равно пригодны в качестве первичного ключа, на практике в качестве первичного обычно выбирается тот из потенциальных ключей, который имеет меньший размер (физического хранения) и/или включает меньшее количество атрибутов. Как указывал Э. Кодд , «обычно основанием [для выбора первичного ключа] является упрощение работы, но этот аспект выходит за рамки реляционной модели» .

В языке SQL альтернативный ключ задаётся как ограничение уникальности (UNIQUE CONSTRAINT), и существует разница между первичным и альтернативными ключами. В первичный ключ не могут быть включены «необязательные» столбцы, то есть столбцы без ограничения NOT NULL. Однако ограничение уникальности может быть задано для столбцов, которые допускают значения NULL, и в этом случае строки, содержащие NULL в таких столбцах, могут фактически не быть уникальными. В разных реализациях допускается или запрещается наличие нескольких строк с идентичными комбинациями пустых и непустых значений в альтернативном ключе .

Примечания

  1. .
  2. .
  3. Коллектив авторов. . — Litres, 2020-11-17. — 830 с. — ISBN 978-5-04-312658-0 .
  4. Codd E.F. Domains, Keys, and Referential Integrity in Relational Databases // InfoDB3. — 1988. — 3, №1.
  5. www.sql.org . Дата обращения: 16 августа 2018. 28 июля 2021 года.
  6. . troels.arvin.dk . Дата обращения: 16 августа 2018. 9 марта 2005 года.

Литература

Источник —

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