В реляционной модели из баз данных , суперключе или суперключе из соотношения схемы является набором атрибутов , такими , что каждый экземпляр отношения отношения схемы не имеет два различных кортежей с одинаковыми значениями для этих атрибутов. [1] [2] Он определяет ограничение функциональной зависимости от суперключа ко всем атрибутам схемы отношения.
Набор всех атрибутов является тривиальным суперключом, потому что в реляционной алгебре дублирование строк не допускается: строки - это набор (без дубликатов), а не мультимножество (дублирование разрешено). Суперклавиша также известна как клавиша суперсета .
Если набор атрибутов К являются суперключи из соотношения R , то в любой момент времени это тот случай, когда проекция из R над K имеет ту же мощность , как R сами.
Суперключ - это набор атрибутов в таблице, значения которых могут использоваться для однозначной идентификации кортежа. Ключ кандидат является минимальным набором атрибутов , необходимых для идентификации кортежа; это также называется минимальным суперключом. Учитывая схему сотрудника, состоящую из атрибутов employeeID, name, job и DepartmentID, где никакое значение в атрибуте employeeID никогда не повторяется, мы могли бы использовать идентификатор employeeID в сочетании с любыми или всеми другими атрибутами этой таблицы, чтобы однозначно идентифицировать кортеж в стол. Примеры суперключей в этой схеме: {employeeID, Name}, {employeeID, Name, job} и {employeeID, Name, job, departmentID}. Последний пример известен как тривиальный суперключ, потому что он использует все атрибуты этой таблицы для идентификации кортежа.
В реальной базе данных нам не нужны значения всех этих атрибутов для идентификации кортежа. В нашем примере нам нужен только набор {employeeID}. Это минимальный суперключ, то есть минимальный набор атрибутов, который можно использовать для идентификации одного кортежа. employeeID - это ключ-кандидат .
Пример [ править ]
Имя монарха | Число монарха | Королевский дом |
---|---|---|
Эдвард | II | Плантагенет |
Эдвард | III | Плантагенет |
Ричард | III | Плантагенет |
Генри | IV | Ланкастер |
Сначала перечислите все наборы атрибутов:
- • {}
- • {Имя монарха}
- • {Число монарха}
- • {Королевский дом}
- • {Имя монарха, Номер монарха}
- • {Имя монарха, Королевский дом}
- • {Номер монарха, Королевский дом}
- • {Имя монарха, Номер монарха, Королевский дом}
Во-вторых, удалите все наборы, которые не соответствуют требованиям суперключа. Например, {Имя монарха, Королевский дом} не может быть суперключом, потому что для одних и тех же значений атрибутов (Эдвард, Плантагенет) существует два разных кортежа:
- (Эдвард II , Плантагенет)
- (Эдвард III , Плантагенет)
Наконец, после исключения оставшиеся наборы атрибутов являются единственными возможными суперключами в этом примере:
- {Имя монарха, номер монарха} (Ключ кандидата)
- {Имя монарха, номер монарха, Королевский дом}
В действительности суперключи не могут быть определены просто путем изучения одного набора кортежей в отношении. Суперключ определяет ограничение функциональной зависимости схемы отношения, которое должно выполняться для всех возможных отношений экземпляра этой схемы отношения.
Если отношение содержит n атрибутов, то максимальное возможное количество суперключей равно 2 n .
Отношение степени n имеет 2 n суперключей, если ∅ является ключом-кандидатом для этого отношения. Например:
Имя | Предполагаемый офис |
---|---|
Джо Байден | 2021-01-20 |
где ∅ → {Имя, Предполагаемая должность} - означает, что президентом может быть только один человек. У президента есть четыре суперклавиша:
- • {}
- • {Имя}
- • {Предполагаемый офис}
- • {Имя, Предполагаемый офис}
См. Также [ править ]
Ссылки [ править ]
- ^ Дата, Кристофер (2015). «Первые относительные документы Кодда: критический анализ» (PDF) . warwick.ac.uk . Проверено 4 января 2020 .
Обратите внимание, что извлечение позволяет «отношению» иметь любое количество первичных ключей и, более того, что такие ключи могут быть «избыточными» (лучше: сокращаемыми ). Другими словами, то, что в документе называется первичным ключом, позже (и лучше) стало известно как суперключ , а то, что в документе называется неизбыточным (лучше: несводимым ) первичным ключом, позже стало известно как ключ-кандидат или (лучше ) просто ключ .
- ^ Введение в системы управления базами данных . Тата МакГроу-Хилл. 2005. с. 77. ISBN 9780070591196.
нет двух кортежей в каких-либо правоотношениях
Дальнейшее чтение [ править ]
- Зильбершатц, Абрахам (2011). Концепции системы баз данных (6-е изд.) . Макгроу-Хилл. С. 45–46. ISBN 978-0-07-352332-3.
Внешние ссылки [ править ]
- Техническое задание Relation Database, Ключи : Обзор различных типов ключей в СУБД