logo

Ключ кандидата в СУБД

А ключ кандидата є частиною ключа, відомого як Супер ключ ( розглянуто в попередньому розділі ), де суперключ — це супернабір усіх тих атрибутів, які можуть унікально ідентифікувати таблицю.

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

метод порівняння java

Що таке ключ-кандидат

Ключ-кандидат — це підмножина набору суперключів, де ключ, який не містить надлишкових атрибутів, є нічим іншим, як Ключ кандидата . Щоб вибрати ключі-кандидати з набору суперключів, нам потрібно переглянути набір суперключів.

Роль ключа-кандидата

Роль ключа-кандидата полягає в тому, щоб унікально ідентифікувати рядок або стовпець таблиці. Крім того, значення ключа-кандидата не може бути Null. За словами експертів, опис ключа-кандидата: «немає надлишкових атрибутів» і є «мінімальним представленням кортежу».

Чим ключ-кандидат відрізняється від первинного ключа

Хоча призначення як кандидата, так і первинного ключа однакове, тобто однозначно ідентифікувати кортежі, вони також відрізняються один від одного. Це тому, що в таблиці ми можемо мати один або більше ніж один ключ-кандидат, але ми можемо створити лише один первинний ключ для таблиці. Таким чином, з числа отриманих ключів-кандидатів ми можемо визначити відповідний первинний ключ. Однак, якщо в таблиці є лише один ключ-кандидат, його можна розглядати для обох ключових обмежень.

Приклад ключа кандидата

Давайте розглянемо той самий приклад під час обговорення Super Key, щоб зрозуміти роботу ключа-кандидата.

У нас є EMPLOYEE_DETAL таблицю, де ми маємо такі атрибути:

Emp_SSN: Номер SSN зберігається в цьому полі.

ddl проти dml

Emp_Id: Атрибут, який зберігає значення ідентифікаційного номера працівника.

рядок для int java

Emp_name: Атрибут, який зберігає ім’я працівника, який має вказаний ідентифікатор працівника.

Emp_email: Атрибут, який зберігає ідентифікатори електронної пошти вказаних співробітників.

The EMPLOYEE_DETAL Нижче наведено таблицю, яка допоможе вам краще зрозуміти:

Ключ кандидата в СУБД

Отже, з наведеної вище таблиці ми отримали наведені нижче суперключі (розглянуті в попередньому розділі):

Ключ кандидата в СУБД

Тепер із цих наборів суперключів ми можемо зробити висновок про ключі-кандидати. Щоб підібрати ключі-кандидати, найкращий спосіб – проаналізувати та сформувати первинні ключі якомога більше. Отже, нам потрібно ідентифікувати ті набори з наборів суперключів, які самі по собі можуть ідентифікувати всю таблицю, або, можна сказати, інші атрибути таблиці. Отже, результат:

Ключ кандидата в СУБД

Отже, ці три отримані атрибути можуть ідентифікувати інші непрості атрибути таблиці. Усе це є кандидатами на ключі, з яких ми можемо вибрати найбільш відповідний атрибут, який може легко ідентифікувати всі записи таблиці, яка буде описана як первинний ключ.

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

З наведених вище обговорень ми можемо мати такі відмінності:

xor в java
Супер ключ Ключ кандидата
Це надмножина всіх таких атрибутів, які можуть унікально ідентифікувати таблицю. Це підмножина або частина суперключа.
Зовсім не обов’язково, щоб усі суперключі були ключами-кандидатами. З іншого боку, усі ключі-кандидати є суперключами.
Атрибут суперключа може бути NULL, що означає, що його значення можуть бути null. Атрибут, що містить ключ-кандидат, ніколи не може бути NULL, що означає, що його значення не можуть бути null.
Усі суперключі сформовані разом, щоб отримати можливі ключі. Подібним чином ключі-кандидати об’єднуються для створення первинних ключів.
Кількість утворених суперключів завжди видно більше. Тут ключі-кандидати менше, ніж суперключі.

Таким чином, суперключ є супермножиною, потенційний ключ є підмножиною, а первинний ключ є підмножиною суперключа.