logo

Типи ключів у реляційній моделі (кандидат, супер, первинний, альтернативний та зовнішній)

Ключі є однією з основних вимог моделі реляційної бази даних. Він широко використовується для однозначної ідентифікації кортежів (рядків) у таблиці. Ми також використовуємо ключі для встановлення зв’язків між різними стовпцями та таблицями реляційної бази даних.

Різні типи ключів бази даних

  • Ключ кандидата
  • Первинний ключ
  • Супер ключ
  • Альтернативний ключ
  • Зовнішній ключ
  • Композитний ключ

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

Мінімальний набір атрибутів, які можуть однозначно ідентифікувати кортеж, відомий як ключ-кандидат. Наприклад, STUD_NO у відношенні STUDENT.



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

приклад:

швидкість передачі в arduino
 STUD_NO is the candidate key for relation STUDENT.>

Таблиця СТУДЕНТ

STUD_NO SNAP АДРЕСА ТЕЛЕФОН
1 Шям Делі 123456789
2 Ракеш Колката 223365796
3 Сурадж Делі 175468965
  • Ключ-кандидат також може бути простим (має лише один атрибут) або складеним.

приклад:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Таблиця STUDENT_COURSE

STUD_NO ВЧИТЕЛЬ_НІ КУРС_№
1 001 C001
2 056 C005

Примітка: в SQL Серверне унікальне обмеження, яке має стовпець із значенням nullable, дозволяє значення ' нуль «у цій колонці тільки один раз . Ось чому атрибут STUD_PHONE є кандидатом тут, але не може мати «нульове» значення в атрибуті первинного ключа.

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

Може бути більше одного ключа-кандидата, один з яких може бути обраний як первинний ключ. Наприклад, STUD_NO, а також STUD_PHONE є кандидатами на ключі для відношення STUDENT, але STUD_NO можна вибрати як первинний ключ (тільки один із багатьох потенційних ключів).



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

приклад:

STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO – первинний ключ>>> 

Таблиця СТУДЕНТ

STUD_NO SNAP АДРЕСА ТЕЛЕФОН
1 Шям Делі 123456789
2 Ракеш Колката 223365796
3 Сурадж Делі 175468965

Супер ключ

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

  • Додавання нуля або більше атрибутів до ключа-кандидата генерує суперключ.
  • Ключ-кандидат є суперключем, але навпаки не вірно.
  • Значення суперключа також можуть бути NULL.

приклад:

Зв’язок між первинним ключем, ключем-кандидатом і суперключем

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

Ключ-кандидат, відмінний від первинного ключа, називається an альтернативний ключ .

як видалити стовпець у postgresql
  • Усі ключі, які не є первинними, називаються альтернативними ключами.
  • Це вторинний ключ.
  • Він містить два або більше полів для ідентифікації двох або більше записів.
  • Ці значення повторюються.
  • Наприклад:- SNAME і ADDRESS є альтернативними ключами

приклад:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Первинний ключ, ключ-кандидат і альтернативний ключ

Первинний ключ, ключ-кандидат і альтернативний ключ

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

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

глобальна змінна javascript
  • Це ключ, який він діє як первинний ключ в одній таблиці, і він діє як
    вторинний ключ в іншій таблиці.
  • Він поєднує два або більше відносин (таблиць) одночасно.
  • Вони виконують роль перехресного посилання між таблицями.
  • Наприклад, DNO є первинним ключем у таблиці DEPT і неключем у EMP

приклад:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Таблиця STUDENT_COURSE

STUD_NO ВЧИТЕЛЬ_НІ КУРС_№
1 005 C001
2 056 C005

Можливо, варто зазначити, що, на відміну від первинного ключа будь-якого даного відношення, зовнішній ключ може бути NULL, а також може містити повторювані кортежі, тобто йому не обов’язково дотримуватися обмеження унікальності. Наприклад, STUD_NO у відношенні STUDENT_COURSE не є унікальним. Це було повторено для першого і третього кортежів. Однак STUD_NO у відношенні STUDENT є первинним ключем, і він завжди має бути унікальним і не може бути нульовим.

Зв'язок між первинним ключем і зовнішнім ключем

Зв'язок між первинним ключем і зовнішнім ключем

Композитний ключ

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

читати з файлу csv у java
  • Він діє як первинний ключ, якщо в таблиці немає первинного ключа
  • Два або більше атрибутів використовуються разом, щоб створити a складений ключ .
  • Різні комбінації атрибутів можуть забезпечувати різну точність однозначної ідентифікації рядків.

приклад:

FULLNAME + DOB can be combined  together to access the details of a student.>
Різні типи ключів

Різні типи ключів

Висновок

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

Поширені запитання про типи ключів у реляційній моделі

Q.1: Чому ключі необхідні для СУБД?

відповідь:

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

Q.2: Що таке унікальний ключ?

відповідь:

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

Q.3: Що таке штучний ключ?

відповідь:

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