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

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

Первинний ключ

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

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

Первинний ключ створюється шляхом визначення обмеження PRIMARY KEY під час створення або зміни таблиці. У стандарті SQL первинний ключ може містити один або кілька стовпців, тоді як кожен стовпець неявно визначається як НЕ NULL. Якщо ви визначите обмеження PRIMARY KEY для більш ніж одного стовпця, це може призвести до дублювання значень в одному стовпчику, тому кожна комбінація значень повинна бути унікальною для всіх стовпців..

Первинний ключ має такі функції:

  • Кожна таблиця повинна мати один і лише один первинний ключ, не більше одного.
  • Первинний ключ не може містити NULL значень.
  • Він може складатися з одного або декількох стовпців.
  • Усі стовпці повинні бути визначені як NOT NULL.
  • Первинний ключ кластеризований унікальним індексом за замовчуванням.

Унікальний ключ

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

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

UNIQUE - це обмеження для стовпця, який не є первинним ключем, який характеризує наступне:

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

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

1. Функція

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

2. Поведінка

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

3. Індексація

Первинний ключ створює кластеризований унікальний індекс за замовчуванням, а унікальний ключ - це унікальний некластеризований індекс в таблиці бази даних за замовчуванням.

4. Нульові значення

Первинний ключ не може приймати значення NULL у таблиці бази даних, тоді як унікальний ключ може приймати лише одне значення NULL у таблиці.

5. Обмеження

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

Первинний ключ проти унікального ключа

Первинний ключ

Унікальний ключ

Первинний ключ використовується для однозначної ідентифікації запису / рядка в таблиці бази даних. Унікальний ключ використовується для унікальної ідентифікації всіх можливих рядків у таблиці, а не лише існуючих на даний момент рядків.
Він не приймає значення NULL. Він може приймати в таблиці лише одне значення NULL.
Це кластерний індекс за замовчуванням, що означає, що дані впорядковані в кластерній послідовності індексів. Це унікальний некластеризований індекс за замовчуванням.
У таблиці може бути лише один первинний ключ. У таблиці може бути кілька унікальних ключів.
Первинний ключ визначається за допомогою обмеження PRIMARY KEY. Унікальний ключ представлений за допомогою обмеження UNIQUE.
Використовується для ідентифікації рядка в таблиці. Використовується для запобігання повторюваних значень у стовпці.
Значення первинного ключа не можна змінювати чи видаляти. Унікальні ключові значення можуть бути змінені.

Підсумок

  • І первинний ключ, і унікальний ключ є обмеженнями цілісності сутності, схожими в багатьох аспектах. Однак вони мають справедливу частку відмінностей, що стосується програмування. Обидва є важливими поняттями, які в основному використовуються в системах управління базами даних.
  • Первинний ключ - це набір одного або декількох стовпців / полів таблиці БД, які однозначно ідентифікують запис у таблиці. З іншого боку, унікальний ключ не дозволяє двом записам мати однакові значення у стовпці.
  • Концептуально для даної таблиці може бути лише один ОСНОВНИЙ КЛЮЧ, тоді як для таблиці може бути більше одного УНІКАЛЬНОГО КЛЮЧА.
  • Первинний ключ повинен бути унікальним, але унікальний ключ не обов'язково повинен бути первинним ключем.
  • Первинний ключ не може приймати значення NULL у таблиці, тоді як унікальний ключ може допускати значення NULL за винятком лише одного NULL у таблиці.