Діаграма порівняння
Основа для порівняння | Супер ключ | Ключ-кандидат |
---|---|---|
Основний | Один атрибут або набір атрибутів, які однозначно ідентифікують всі атрибути у відношенні, є супер-ключем. | Власне підмножина супер ключа, яка також є супер-ключем, є ключем-кандидатом. |
Один в іншому | Це не обов'язково, щоб всі супер-ключі були кандидатними ключами. | Всі кандидатні клавіші є супер клавішами. |
Вибір | Набір супер клавіш є базою для вибору кандидатських ключів. | Набір кнопок-кандидатів є базою для вибору одного первинного ключа. |
Рахувати | У відношенні є порівняно більше ключів. | У відношенні є порівняно менше кандидатів. |
Визначення Super key
Супер-ключ - це основний ключ будь-якого відношення. Він визначається як ключ, який може ідентифікувати всі інші атрибути у відношенні . Супер-ключ може бути єдиним атрибутом або набором атрибутів. Дві сутності не мають однакових значень для атрибутів, які складають супер ключ. У відношенні існує принаймні один або більше таких супер-ключів.
Мінімальний супер ключ також називається ключем кандидата. Тому ми можемо сказати, що деякі з супер ключів перевіряються на те, що вони є ключем кандидата. Пізніше ми побачимо, як перевіряється супер-ключ, щоб стати ключем-кандидатом.
Візьмемо відношення R (A, B, C, D, E, F); ми маємо наступні залежності для відношення R, і ми перевірили кожен, що є супер-ключем.
Але за допомогою ключа CB ми можемо тільки знайти значення для атрибута D і F, ми не можемо знайти значення для атрибутів A і E. Отже, СВ не є супер-ключем. Те ж саме відбувається і з ключем D ми не можемо знайти значення всіх атрибутів в таблиці за допомогою ключа D. Таким чином, D не є супер-ключем.
Визначення ключа кандидата
Супер-ключ, який є належним підмножиною іншого супер-ключа того ж самого відношення, називається мінімальним супер-ключем . Мінімальний супер ключ називається ключем кандидата . Як і супер ключ, ключ-кандидат також ідентифікує кожний кортеж в таблиці однозначно. Атрибут ключа-кандидата може приймати значення NULL .
Один з кандидатних ключів вибирається в якості первинного ключа DBA . За умови, що значення атрибута ключа повинні бути унікальними і не містять NULL. Атрибути ключа кандидата називають простими атрибутами .
У наведеному вище прикладі ми знайшли супер клавіші для відношення R. Тепер давайте перевіримо всі супер ключі для того, щоб бути ключем кандидата.
Супер клавіша АВ є належним підмножиною супер ключа АБД . Отже, коли мінімальний супер-ключ АВ сам по собі здатний ідентифікувати всі атрибути в таблиці, то нам не потрібен більший ключ АБД . Отже, супер-клавіша AB є ключем-кандидатом, тоді як ABD буде тільки супер-ключ.
Аналогічно, супер-ключ DF також є належним підмножиною супер-ключа DEF . Отже, коли тільки DF здатний ідентифікувати всі атрибути у відношенні, чому нам потрібен DEF . Отже, супер-ключ DF стає кандидатом, тоді як DEF - це тільки супер-ключ.
Супер-ключ CD не є належним підмножиною будь-якого іншого супер-ключа. Отже, можна сказати, що CD - це мінімальний супер ключ, який ідентифікує всі атрибути у відношенні. Отже, компакт-диск є ключем-кандидатом.
У той час як ключові CB і D не є супер-ключем, вони не можуть бути навіть кандидатними ключами. Виходячи з вищезазначеної таблиці, можна зробити висновок, що кожен ключ-кандидат є супер-ключем, але обернений не є істинним.
Ключові відмінності між супер-ключем і ключем-кандидатом
- Один атрибут або набір атрибутів, які можуть однозначно ідентифікувати всі атрибути певного співвідношення, називається Супер ключ. З іншого боку, супер ключ, який є належним підмножиною іншого супер-ключа, називається ключем-кандидатом.
- Всі кандидатні клавіші є супер клавішами, але зворотне не відповідає дійсності.
- Набір супер-ключів перевіряється для пошуку ключів-кандидатів, тоді як набір ключів-кандидатів перевіряється для вибору одного первинного ключа.
- Супер-клавіші порівняно більші за кількість, ніж кандидатні ключі.
Висновок:
Супер ключ є основним ключем будь-якого відношення. Вони повинні бути нанесені на перший план, перш ніж визнати інші ключі для відношення, оскільки вони формують базу для інших ключів. Ключ-кандидат важливий, оскільки він допомагає визнати найважливіший ключ будь-якого відношення, що є первинним ключем.