В реляционной модели данных суперключ — это любой набор атрибутов, который уникально идентифицирует каждый кортеж отношения. [ 1 ] [ 2] Поскольку значения суперключа уникальны, кортежи с одинаковым значением суперключа должны также иметь одинаковые значения неключевых атрибутов. То есть неключевые атрибуты функционально зависят от суперключа.
Набор всех атрибутов всегда является суперключом (тривиальным суперключом). Кортежи в отношении по определению уникальны, дубликаты удаляются после каждой операции, поэтому набор всех атрибутов всегда имеет уникальное значение для каждого кортежа. Ключ-кандидат (или минимальный суперключ) — это суперключ, который нельзя свести к более простому суперключу путем удаления атрибута. [3]
Например, в схеме служащего с атрибутами employeeID
, name
, job
, и departmentID
, если employeeID
значения уникальны, то employeeID
в сочетании с любым или всеми другими атрибутами они могут однозначно идентифицировать кортежи в таблице. Каждая комбинация, { employeeID
}, { employeeID
, name
}, { employeeID
, name
, job
} и т. д., является суперключом. { employeeID
} является потенциальным ключом, поскольку ни одно подмножество его атрибутов также не является суперключом. { employeeID
, name
, job
, departmentID
} является тривиальным суперключом.
Если набор атрибутов K является суперключом отношения R , то в любой момент времени проекция R на K имеет ту же мощность , что и само R.
Сначала перечислите все наборы атрибутов:
Во-вторых, исключите все наборы, которые не соответствуют требованиям суперключа. Например, {Имя монарха, Королевский дом} не может быть суперключом, потому что для тех же значений атрибутов (Эдвард, Плантагенет) есть два различных кортежа:
Наконец, после исключения оставшиеся наборы атрибутов являются единственными возможными суперключами в этом примере:
В действительности суперключи не могут быть определены просто путем проверки одного набора кортежей в отношении. Суперключ определяет ограничение функциональной зависимости схемы отношения, которое должно выполняться для всех возможных отношений экземпляров этой схемы отношения.
Обратите внимание, что извлечение позволяет "отношению" иметь любое количество первичных ключей, и, более того, такие ключи могут быть "избыточными" (лучше: приводимыми). Другими словами, то, что в статье называется первичным ключом, позже (и лучше) стало известно как суперключ, а то, что в статье называется неизбыточным (лучше: неприводимым) первичным ключом, позже стало известно как ключ-кандидат или (лучше) просто "ключ".
нет двух кортежей в каком-либо правовом отношении