Ознайомлення з ключами СУБД

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

Різні типи ключів у СУБД

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

  1. Супер ключ
  2. Ключ кандидата
  3. Первинний ключ
  4. Альтернативний ключ
  5. Зовнішній ключ
  6. Складений ключ
  7. Сурогатний ключ

1) Супер ключ

Супер ключ - це або окрема клавіша, або набір клавіш, що допомагає визначити окремі рядки в певній таблиці. Супер ключ може мати додаткові атрибути, які є зайвими для чіткої ідентифікації.

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

2) Ключ кандидата

Якщо у Super Key немає жодного повторюваного атрибута, він відомий як Candidate Key. Первинний ключ ретельно вибирається після розгляду, із заданих ключів кандидата. Усі таблиці повинні мати принаймні один кандидатський ключ. Є кілька правил, яких нам потрібно дотримуватися стосовно вибору ключа кандидата. Вони є:

  • Ключ кандидата повинен містити відмінні значення.
  • Ключ кандидата може мати різні атрибути.
  • Ключ кандидата не може містити нульових значень.
  • Ключ кандидата повинен однозначно ідентифікувати кожен рядок таблиці.

Давайте розглянемо приклад таблиці, де Emp Id, Mobile No та Email - це кандидати. Ці клавіші допомагають нам чітко визначити будь-який рядок працівника в таблиці.

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

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

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

Давайте подивимось на приклад таблиці, де Імп Emp є первинним ключем.

4) альтернативний ключ

У таблиці може бути кілька варіантів для ключа, обраного як Первинний ключ. Будь-який ключ, який може бути Первинним ключем, але на даний момент не Первинний ключ, відомий як альтернативний ключ. Це ключ-кандидат, який не обраний як первинний ключ.

Давайте подивимось на приклад, коли EmpId, Email та номер мобільного телефону є ключовими ключами-кандидатами і можуть бути Первинним ключем. Але оскільки Emp Id - це первинний ключ, то електронна пошта та номер мобільного телефону стають альтернативним ключем.

5) Зовнішній ключ

Іноземні ключі допомагають нам у встановленні зв’язків з іншими таблицями. Його ще називають референтною доброчесністю. Для встановлення цього взаємозв'язку в таблицю можна додати стовпчик "Зовнішній ключ". Вони допомагають нам підтримувати цілісність даних і дозволяють легко переходити між будь-якими екземплярами двох об'єктів.

Розглянемо приклад, що складається з двох таблиць, таблиці «Співробітник» та «Відділ».

Таблиця: Відділ

Таблиця: Співробітник

Наразі ми не маємо уявлення про відділи, в яких працюють працівники. Додавши DeptId до таблиці Співробітник, ми можемо встановити взаємозв’язок між таблицею Співробітника та таблицею Департаменту. Тут таблиця DeptId працівника стає зовнішнім ключем, а DeptId таблиці відділу стає первинним ключем для цієї таблиці.

Таблиця: Співробітник з DeptId як зовнішній ключ

6) Складений ключ

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

Розглянемо приклад таблиці, що складається з деталей продукту та продукту. У цій таблиці ми можемо побачити, що товар може бути замовлений більш ніж одним клієнтом, і більше одного товару може бути присутнім в порядку. Тому нам потрібно поєднувати і OrderId, і ProductId, щоб створити унікальний спосіб ідентифікації рядка.

7) Сурогатний ключ

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

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

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

Рекомендовані статті

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

  1. Моделі даних у СУБД
  2. Запитання щодо інтерв'ю RDBMS
  3. Інструмент інтеграції даних
  4. Що таке стеганографія?