Суперключ
В реляционной модели данных суперключ — любой набор атрибутов, который однозначно идентифицирует каждый кортеж отношения это . [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. сам
Пример [ править ]
Имя монарха | Номер монарха | Королевский дом |
---|---|---|
Эдвард | II | Плантагенет |
Эдвард | III | Плантагенет |
Ричард | III | Плантагенет |
Генри | IV | Ланкастер |
Сначала перечислите все наборы атрибутов:
- • {}
- • {Имя монарха}
- • {Номер монарха}
- • {Королевский дом}
- • {Имя монарха, номер монарха}
- • {Имя монарха, Королевский дом}
- • {Номер монарха, Королевский дом}
- • {Имя монарха, номер монарха, королевский дом}
Во-вторых, исключите все наборы, которые не соответствуют требованиям суперключа. Например, {Имя монарха, Королевский дом} не может быть суперключом, поскольку для одних и тех же значений атрибута (Эдвард, Плантагенет) существует два разных кортежа:
- (Эдуард II , Плантагенет)
- (Эдуард III , Плантагенет)
Наконец, после исключения, оставшиеся наборы атрибутов являются единственными возможными суперключами в этом примере:
- {Имя монарха, Номер монарха} — это также потенциальный ключ.
- {Имя монарха, номер монарха, королевский дом}
В действительности суперключи невозможно определить, просто исследовав один набор кортежей в отношении. Суперключ определяет ограничение функциональной зависимости схемы отношений, которое должно соблюдаться для всех возможных отношений экземпляров этой схемы отношений.
См. также [ править ]
Ссылки [ править ]
- ^ Дата, Кристофер (2015). «Первые реляционные статьи Кодда: критический анализ» (PDF) . Warwick.ac.uk . Проверено 4 января 2020 г.
Обратите внимание, что экстракт позволяет «отношению» иметь любое количество первичных ключей, и, более того, такие ключи могут быть «избыточными» (лучше: сокращаемыми). Другими словами, то, что в статье называется первичным ключом, позже (и лучше) стало известно как суперключ, а то, что в статье называется неизбыточным (лучше: нередуцируемым) первичным ключом, позже стало известно как ключ-кандидат или (лучше ) просто «ключ».
- ^ Введение в системы управления базами данных . Тата МакГроу-Хилл. 2005. с. 77. ИСБН 9780070591196 .
ни в одном юридическом отношении нет двух кортежей
- ^ Саидиан, Х. (1 февраля 1996 г.). «Эффективный алгоритм вычисления потенциальных ключей схемы реляционной базы данных» . Компьютерный журнал . 39 (2): 124–132. дои : 10.1093/comjnl/39.2.124 . ISSN 0010-4620 .
Дальнейшее чтение [ править ]
- Зильбершац, Авраам (2011). Концепции системы баз данных (6-е изд.) . МакГроу-Хилл. стр. 45–46. ISBN 978-0-07-352332-3 .
Внешние ссылки [ править ]
- Техническое задание реляционной базы данных, Ключи : обзор различных типов ключей в СУБД.