Суперключ - Superkey
Эта статья нужны дополнительные цитаты для проверка.Октябрь 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
А суперключ или же супер-ключ определяется в реляционная модель из база данных организация как набор атрибутов переменной отношения, для которых он утверждает, что во всех отношениях, назначенных этой переменной, нет двух различных кортежи (строки) с одинаковыми значениями атрибутов в этом наборе.[1] Его можно определить как набор атрибутов схема отношений на котором все атрибуты схемы функционально зависимый.
Набор все атрибуты - тривиальный суперключ, потому что в реляционная алгебра повторяющиеся строки не допускаются: строки представляют собой набор (без дубликатов), а не мультимножество (дубликаты разрешены). Супер-ключ также известен как супер-ключ.
Если атрибут установлен K суперключ отношения р, то всегда бывает, что проекция из р над K имеет то же самое мощность в качестве р сам.
Суперключ - это набор атрибутов в таблице, значения которых могут использоваться для однозначной идентификации кортежа. А кандидат ключ - минимальный набор атрибутов, необходимых для идентификации кортежа; это также называется минимальным суперключом. Учитывая схему сотрудника, состоящую из атрибутов 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 имеет 2п суперключей, когда ∅ кандидат ключ для этого отношения. Например:
Имя | Предполагаемый офис |
---|---|
Дональд Трамп | 2017-01-20 |
где ∅ → {Имя, Предполагаемая должность} - означает, что президентом может быть только один человек. У президента есть четыре суперклавиша:
- • {}
- • {Имя}
- • {Предполагаемый офис}
- • {Имя, Предполагаемый офис}
Смотрите также
Рекомендации
- Зильбершатц, Абрахам (2011). Концепции системы баз данных (6-е изд.). Макгроу-Хилл. С. 45–46. ISBN 978-0-07-352332-3.
- ^ Введение в системы управления базами данных. Тата МакГроу-Хилл. 2005. с. 77. ISBN 9780070591196.
нет двух кортежей в каких-либо правоотношениях
внешняя ссылка
- Техническое задание Relation Database, ключи: Обзор различных типов ключей в СУБД