Ключі є однією з основних вимог моделі реляційної бази даних. Він широко використовується для однозначної ідентифікації кортежів (рядків) у таблиці. Ми також використовуємо ключі для встановлення зв’язків між різними стовпцями та таблицями реляційної бази даних.
Різні типи ключів бази даних
- Ключ кандидата
- Первинний ключ
- Супер ключ
- Альтернативний ключ
- Зовнішній ключ
- Композитний ключ
Ключ кандидата
Мінімальний набір атрибутів, які можуть однозначно ідентифікувати кортеж, відомий як ключ-кандидат. Наприклад, 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: Що таке штучний ключ?
відповідь:
Штучні ключі – це ключі, які використовуються, коли жодні атрибути не містять усіх властивостей первинного ключа або якщо первинний ключ дуже великий і складний.