Рекомендуем, 2024

Выбор редакции

Разница между супер-ключом и ключом-кандидатом

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

Сравнительная таблица

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

Определение супер ключа

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

Минимальный супер ключ также называется ключом-кандидатом. Таким образом, мы можем сказать, что некоторые из супер ключей проверены на то, что они являются ключом-кандидатом. Позже мы увидим, как проверяется суперключ, чтобы стать ключом-кандидатом.

Возьмем соотношение R (A, B, C, D, E, F); у нас есть следующие зависимости для отношения R, и мы проверили каждую на наличие суперключа.

Используя ключ AB, мы можем идентифицировать остальные атрибуты таблицы, т.е. CDEF . Точно так же, используя ключи CD, ABD, DF и DEF, мы можем идентифицировать оставшиеся атрибуты таблицы R. Все это супер-ключи.

Но используя ключ CB, мы можем только найти значения для атрибутов D и F, мы не можем найти значение для атрибутов A и E. Следовательно, CB не является супер-ключом. То же самое имеет место с ключом D, мы не можем найти значения всех атрибутов в таблице, используя ключ D. Таким образом, D не является супер ключом.

Определение ключа кандидата

Суперключ, который является надлежащим подмножеством другого суперключа того же отношения, называется минимальным суперключом . Минимальный супер-ключ называется ключ-кандидат . Как и супер ключ, ключ-кандидат также уникально идентифицирует каждый кортеж в таблице. Атрибут ключа-кандидата может принимать значение NULL .

DBA выбирает один из ключей-кандидатов в качестве первичного ключа. При условии, что значения атрибута ключа должны быть уникальными и не содержать NULL. Атрибуты ключа-кандидата называются простыми атрибутами .

В приведенном выше примере мы нашли суперключи для отношения R. Теперь давайте проверим все суперключи на то, что они являются ключом-кандидатом.

Супер ключ AB - это правильное подмножество супер ключа ABD . Таким образом, когда один только минимальный супер ключ AB способен идентифицировать все атрибуты в таблице, тогда нам не нужен ключ ABD большего размера. Следовательно, супер ключ AB является ключом-кандидатом, в то время как ABD будет только супер ключом.
Аналогично, суперключ DF также является надлежащим подмножеством суперключа DEF . Итак, если DF один способен идентифицировать все атрибуты в отношении, зачем нам DEF . Следовательно, супер ключ DF становится ключом-кандидатом, в то время как DEF является только супер ключом.

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

В то время как ключи CB и D не являются суперключами, они не могут быть даже ключами-кандидатами. Просматривая таблицу выше, вы можете сделать вывод, что каждый ключ-кандидат является супер-ключом, но обратное неверно.

Ключевые различия между супер ключом и ключом-кандидатом

  1. Один атрибут или набор атрибутов, которые могут однозначно идентифицировать все атрибуты определенного отношения, называется Super key. С другой стороны, суперключ, который является надлежащим подмножеством другого суперключа, называется ключом-кандидатом.
  2. Все ключи-кандидаты являются супер-ключами, но обратное неверно.
  3. Набор супер ключей проверяется для поиска ключей-кандидатов, тогда как набор ключей-кандидатов проверяется для выбора одного первичного ключа.
  4. Суперклави сравнительно больше, чем ключей-кандидатов.

Заключение:

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

Top