stringtranslate.com

Суперключ

В реляционной модели данных суперключ это любой набор атрибутов, который уникально идентифицирует каждый кортеж отношения. [ 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.

Пример

Сначала перечислите все наборы атрибутов:

• {}
• {Имя монарха}  
• {Число монарха}  
• {Королевский дом}
• {Имя монарха, Номер монарха}
• {Имя монарха, королевский дом}
• {Число монарха, королевский дом}
• {Имя монарха, Номер монарха, Королевский дом}

Во-вторых, исключите все наборы, которые не соответствуют требованиям суперключа. Например, {Имя монарха, Королевский дом} не может быть суперключом, потому что для тех же значений атрибутов (Эдвард, Плантагенет) есть два различных кортежа:

Наконец, после исключения оставшиеся наборы атрибутов являются единственными возможными суперключами в этом примере:

В действительности суперключи не могут быть определены просто путем проверки одного набора кортежей в отношении. Суперключ определяет ограничение функциональной зависимости схемы отношения, которое должно выполняться для всех возможных отношений экземпляров этой схемы отношения.

Смотрите также

Ссылки

  1. ^ Дата, Кристофер (2015). "Первые реляционные статьи Кодда: критический анализ" (PDF) . warwick.ac.uk . Получено 04.01.2020 . Обратите внимание, что извлечение позволяет "отношению" иметь любое количество первичных ключей, и, более того, такие ключи могут быть "избыточными" (лучше: приводимыми). Другими словами, то, что в статье называется первичным ключом, позже (и лучше) стало известно как суперключ, а то, что в статье называется неизбыточным (лучше: неприводимым) первичным ключом, позже стало известно как ключ-кандидат или (лучше) просто "ключ".
  2. ^ Введение в системы управления базами данных . Tata McGraw-Hill. 2005. стр. 77. ISBN 9780070591196. нет двух кортежей в каком-либо правовом отношении
  3. ^ Saiedian, H. (1996-02-01). "Эффективный алгоритм вычисления потенциальных ключей схемы реляционной базы данных". The Computer Journal . 39 (2): 124–132. doi :10.1093/comjnl/39.2.124. ISSN  0010-4620.

Дальнейшее чтение

Внешние ссылки