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

Автор: Laura McKinney
Дата Створення: 1 Квітень 2021
Дата Оновлення: 13 Травень 2024
Anonim
Різниця між основним та кандидатурним ключем - Технологія
Різниця між основним та кандидатурним ключем - Технологія

Зміст


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

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

  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняПервинний ключКлюч кандидата
ОсновніУ будь-якому відношенні може бути лише один первинний ключ.У відносині може бути більше одного ключа-кандидата.
НУЛЬЖоден атрибут Первинного ключа не може містити значення NULL.Атрибут ключа Candidate може мати значення NULL.
ВкажітьНеобов’язково вказувати первинний ключ для будь-якого відношення.Не може бути зв’язку без вказаного ключа-кандидата.
ОсобливістьПервинний ключ описує найважливіший атрибут відношення.Ключі кандидата представляють кандидатів, які можуть претендувати на первинний ключ.
НавпакиПервинний ключ - це кандидатський ключ.Але не обов'язково, щоб кожен кандидатський ключ був первинним ключем.


Визначення первинного ключа

Первинний ключ є атрибутом або набором атрибутів, які однозначно ідентифікують кожен кортеж у відношенні. Можуть бути тільки один первинний ключ для кожного відношення. Потрібно подбати про те, щоб це був первинний ключ ніколи містять а НУЛЬ значення, і воно повинно мати значення унікальний значення для кожного кортежа у відношенні. Значення атрибута / s первинного ключа повинні бути статичнийтобто значення атрибута не повинно ніколи або рідко змінюватися.

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

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


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

Тепер подивимось приклад Первинного ключа.

Студент {ID, ім'я, прізвище, вік, адреса}

Тут ми спочатку розберемо ключі кандидатів. Я зрозумів два кандидатські ключі {ID} і {Ім'я прізвище} оскільки вони однозначно ідентифікують кожного учня у стосунку «Студент». Тепер ось я виберу Посвідчення особи як мій основний ключ, тому що іноді може статися, що два студенти можуть мати однакові імена та прізвища, тож легко простежити студента з його Посвідчення особи.

Визначення ключа кандидата

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

Хоча кожен ключ-кандидат може бути первинним, лише один може бути обраний як первинний ключ. Правила, від яких потрібен ключ-кандидат, щоб стати первинним ключем, значення атрибута ключа ніколи не може бути НУЛЬ у будь-якому домені ключа, він повинен бути унікальний і статичний.

Якщо всі ключові кандидати мають право на первинний ключ, то досвідчений DBA повинні прийняти рішення, щоб з'ясувати первинний ключ. Ніколи не може бути відносини без кандидата.

Давайте розберемося з прикладом ключа ключа. Якщо ми додамо ще кілька атрибутів до співвідношення Студент, я обговорював вище.

Студент {ID, ім'я, прізвище, вік, адреса, DOB, ім'я кафедри}

Тут я можу розібратися два кандидатські ключі, які є {ID}, {Ім'я, прізвище, DOB}. Таким чином, ви можете зрозуміти, що ключові слова є тими, що однозначно ідентифікують кортеж у відношенні.

  1. Основним моментом, який відрізняє первинний ключ від ключа-кандидата, є те, що в схемі може бути лише один первинний для будь-якого відношення. Однак для одного відношення може бути кілька ключів-кандидатів.
  2. Атрибут під первинним ключем ніколи не може містити значення NULL, оскільки основна функція первинного ключа полягає в унікальному визначенні запису стосовно. Навіть первинний ключ може використовуватися як зовнішній ключ в іншому відношенні, а значить, він не повинен бути NULL, щоб референтне відношення могло знайти кортежі у посилальному відношенні. Ключ-кандидат може бути NULL, якщо не вказано обмеження атрибута ненулевим.
  3. Не обов’язково вказувати первинний ключ, але не може бути відношення без кандидатських ключів.
  4. Первинний ключ описує унікальний і найважливіший атрибут відношення, тоді як, ключові слова-кандидати, містять кандидатів, серед яких один може бути обраний як первинний ключ.
  5. Кожен первинний ключ - це кандидатський ключ, але навпаки, це неправда.

Висновок:

Для відношення необов'язково вказати первинний ключ. З іншого боку, якщо ви заявляєте про відношення, в цьому відношенні повинні бути присутніми ключі-кандидати, щоб створити гарне співвідношення.