Суперключ | это... Что такое Суперключ? (original) (raw)
Суперключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованию уникальности: не существует двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).
Суперключ отличается от потенциального ключа тем, что на суперключ не накладывается требование минимальности, или несократимости (это требование означает, что в составе ключа отсутствует меньшее подмножество атрибутов, удовлетворяющее условию уникальности). Вследствие этого в состав суперключа может входить другой, более «компактный» по количеству атрибутов суперключ.
Таким образом, потенциальный ключ может быть определён как суперключ, обладающий свойством минимальности (несократимости).
Поскольку все кортежи в отношении по определению уникальны, в нём всегда существует хотя бы один суперключ (например, включающий все атрибуты отношения).
Пример
Английские монархи
Имя монарха | Номер монарха | Династия |
---|---|---|
Эдуард | II | Плантагенет |
Эдуард | III | Плантагенет |
Ричард | II | Плантагенет |
Генрих | IV | Ланкастер |
Если исходить из того, что уникально имя монарха, уточнённое номером, то в этом отношении суперключами являются:
- {Имя монарха, Номер монарха}
- {Имя монарха, Номер монарха, Династия}.
При этом потенциальным ключом является только первый суперключ.
См. также
Базы данных | |
---|---|
Концепции | Модель данных • Реляционная (модель • алгебра • Нормальная форма • Ссылочная целостность • БД • СУБД) • Иерархическая модель • Сетевая (модель • СУБД) • Объектно-ориентированная (БД • СУБД) • Транзакция • Журнализация • Секционирование |
Объекты | Отношение (таблица) • Представление • Хранимая процедура • Триггер • Курсор • Индекс |
Ключи | Потенциальный • Первичный • Внешний • Естественный • Суррогатный (искусственный) • Суперключ |
SQL | SELECT • INSERT • UPDATE • MERGE • DELETE • TRUNCATE • JOIN • UNION • INTERSECT • EXCEPT • CREATE • ALTER • DROP • GRANT • COMMIT • ROLLBACK |
СУБД | IMS • DB2 • Informix • Oracle Database • Microsoft SQL Server • Adaptive Server Enterprise • Teradata Database • Firebird • PostgreSQL • MySQL • SQLite • Microsoft Access • Visual FoxPro • ЛИНТЕР • CouchDB • MongoDB |
Компоненты | Язык запросов • Оптимизатор запросов • План выполнения запроса • ODBC • ADO • ADO.NET • JDBC |