А ключ кандидата є частиною ключа, відомого як Супер ключ ( розглянуто в попередньому розділі ), де суперключ — це супернабір усіх тих атрибутів, які можуть унікально ідентифікувати таблицю.
Тут ми обговоримо ключ кандидата, його роль, а також його використання. Ми також розглянемо кілька прикладів, які допоможуть нам краще зрозуміти концепцію ключа-кандидата.
метод порівняння 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. |
Усі суперключі сформовані разом, щоб отримати можливі ключі. | Подібним чином ключі-кандидати об’єднуються для створення первинних ключів. |
Кількість утворених суперключів завжди видно більше. | Тут ключі-кандидати менше, ніж суперключі. |
Таким чином, суперключ є супермножиною, потенційний ключ є підмножиною, а первинний ключ є підмножиною суперключа.