Сравнительная таблица
Основа для сравнения | Супер Ключ | Ключ-кандидат |
---|---|---|
основной | Единственный атрибут или набор атрибутов, который однозначно идентифицирует все атрибуты в отношении, является супер-ключом. | Подходящее подмножество суперключа, которое также является суперключем, является ключом-кандидатом. |
Один в другой | Не обязательно, чтобы все супер ключи были ключами-кандидатами. | Все ключи-кандидаты являются супер-ключами. |
выбор | Набор супер ключей является основой для выбора ключей-кандидатов. | Набор ключей-кандидатов формирует основу для выбора одного первичного ключа. |
подсчитывать | В отношениях есть сравнительно больше супер-ключей. | Относительно меньше ключей-кандидатов в отношении. |
Определение супер ключа
Супер ключ - это основной ключ любого отношения. Он определяется как ключ, который может идентифицировать все другие атрибуты в отношении . Суперключ может быть отдельным атрибутом или набором атрибутов. Два объекта не имеют одинаковых значений для атрибутов, составляющих суперключ. В отношении есть по крайней мере один или несколько суперключей.
Минимальный супер ключ также называется ключом-кандидатом. Таким образом, мы можем сказать, что некоторые из супер ключей проверены на то, что они являются ключом-кандидатом. Позже мы увидим, как проверяется суперключ, чтобы стать ключом-кандидатом.
Возьмем соотношение R (A, B, C, D, E, F); у нас есть следующие зависимости для отношения 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 не являются суперключами, они не могут быть даже ключами-кандидатами. Просматривая таблицу выше, вы можете сделать вывод, что каждый ключ-кандидат является супер-ключом, но обратное неверно.
Ключевые различия между супер ключом и ключом-кандидатом
- Один атрибут или набор атрибутов, которые могут однозначно идентифицировать все атрибуты определенного отношения, называется Super key. С другой стороны, суперключ, который является надлежащим подмножеством другого суперключа, называется ключом-кандидатом.
- Все ключи-кандидаты являются супер-ключами, но обратное неверно.
- Набор супер ключей проверяется для поиска ключей-кандидатов, тогда как набор ключей-кандидатов проверяется для выбора одного первичного ключа.
- Суперклави сравнительно больше, чем ключей-кандидатов.
Заключение:
Супер ключ является основным ключом любого отношения. Они должны быть нанесены в первую очередь, прежде чем распознавать другие ключи для отношения, поскольку они формируют основу для других ключей. Ключ-кандидат важен, так как помогает распознать наиболее важный ключ любого отношения, являющегося первичным ключом.