Ключі СУБД: кандидат, супер, основний, іноземний (приклад)

Зміст:

Anonim

Що таке ключі в СУБД?

КЛЮЧІ в СУБД - це атрибут або набір атрибутів, які допомагають ідентифікувати рядок (кортеж) у відношенні (таблиці). Вони дозволяють знайти зв'язок між двома таблицями. Клавіші допомагають однозначно ідентифікувати рядок у таблиці за допомогою комбінації одного або декількох стовпців у цій таблиці. Ключ також корисний для пошуку унікального запису або рядка з таблиці. Ключ бази даних також корисний для пошуку унікального запису або рядка з таблиці.

Приклад:

Ідентифікатор працівника Ім'я Прізвище
11 Андрій Джонсон
22 Том Деревина
33 Алекс Хейл

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

У цьому підручнику ви дізнаєтесь:

  • Що таке ключі?
  • Навіщо нам ключ?
  • Різні ключі в системі управління базами даних
  • Що таке супер ключ?
  • Що таке первинний ключ?
  • Що таке альтернативний ключ?
  • Що таке ключ кандидата?
  • Що таке зовнішній ключ?
  • Що таке Compound key?
  • Що таке композитний ключ?
  • Що таке сурогатний ключ?
  • Різниця між первинним та зовнішнім ключами

Навіщо нам ключ?

Ось кілька причин використання ключа sql у системі СУБД.

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

Типи ключів у системі управління базами даних

В СУБД в основному існує сім різних типів ключів, і кожен ключ має різні функції:

  • Супер ключ - Супер ключ - це група одиночних або декількох ключів, що ідентифікує рядки в таблиці.
  • Первинний ключ - це стовпець або група стовпців у таблиці, які однозначно ідентифікують кожен рядок у цій таблиці.
  • Кандидатський ключ - це набір атрибутів, які однозначно ідентифікують кортежі в таблиці. Кандидатський ключ - це супер ключ без повторюваних атрибутів.
  • Альтернативний ключ - це стовпець або група стовпців у таблиці, які однозначно ідентифікують кожен рядок у цій таблиці.
  • Зовнішній ключ - це стовпець, який створює взаємозв'язок між двома таблицями. Призначення зовнішніх ключів - підтримувати цілісність даних і дозволяти навігацію між двома різними екземплярами сутності.
  • Складений ключ - має два або більше атрибутів, які дозволяють однозначно розпізнавати певний запис. Можливо, кожен стовпець не може бути унікальним сам по собі в базі даних.
  • Складений ключ - Штучний ключ, який має на меті однозначно ідентифікувати кожен запис, називається сурогатним ключем. Цей тип ключів унікальний, оскільки створюється, коли у вас немає природного первинного ключа.
  • Сурогатний ключ - Штучний ключ, який має на меті однозначно ідентифікувати кожен запис, називається сурогатним ключем. Цей тип ключів унікальний, оскільки створюється, коли у вас немає природного первинного ключа.

Що таке супер ключ?

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

Приклад:

EmpSSN EmpNum Empname
9812345098 AB05 Показано
9876512345 AB06 Рослін
199937890 AB07 Джеймс

У наведеному вище прикладі EmpSSN та EmpNum name є суперключами.

Що таке первинний ключ?

ОСНОВНИЙ КЛЮЧ - це стовпець або група стовпців у таблиці, які однозначно ідентифікують кожен рядок у цій таблиці. Первинний ключ не може бути дублікатом, що означає, що одне і те ж значення не може відображатися в таблиці більше одного разу. У таблиці не може бути більше одного первинного ключа.

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

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

Приклад:

У наступному прикладі StudID є первинним ключем.

StudID Рулон No Ім'я Прізвище Електронна пошта
1 11 Том Ціна Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
2 12 Нік Райт Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
3 13 Дана Натан Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.

Що таке альтернативний ключ?

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

Приклад:

У цій таблиці StudID, Roll No, Email мають право стати первинним ключем. Але оскільки StudID є первинним ключем, альтернативний ключ стає Roll No, Email.

StudID Рулон No Ім'я Прізвище Електронна пошта
1 11 Том Ціна Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
2 12 Нік Райт Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
3 13 Дана Натан Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.

Що таке ключ кандидата?

КЛЮЧ КАНДИДАТУ - це набір атрибутів, які однозначно ідентифікують кортежі в таблиці. Кандидатський ключ - це супер ключ без повторюваних атрибутів. Первинний ключ слід вибрати з ключових кандидатів. Кожна таблиця повинна мати принаймні один ключ-кандидат. У таблиці може бути кілька ключів-кандидатів, але лише один первинний ключ.

Властивості ключа кандидата:

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

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

StudID Рулон No Ім'я Прізвище Електронна пошта
1 11 Том Ціна Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
2 12 Нік Райт Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.
3 13 Дана Натан Ця електронна адреса захищена від спам-ботів. Вам потрібно увімкнути JavaScript, щоб переглянути його.

Що таке зовнішній ключ?

ІНОЗЕМНИЙ КЛЮЧ - це стовпець, який створює взаємозв'язок між двома таблицями. Призначення зовнішніх ключів - підтримувати цілісність даних і дозволяти навігацію між двома різними екземплярами сутності. Він діє як перехресне посилання між двома таблицями, оскільки посилається на первинний ключ іншої таблиці.

Приклад:

DeptCode Назва відділу
001 Наука
002 Англійська
005 Комп’ютер
Ідентифікатор вчителя Ім'я Lname
B002 Девід Уорнер
B017 Сара Йосип
B009 Майк Брантон

У цьому ключі в прикладі dbms ми маємо дві таблиці, викладання та відділення в школі. Однак неможливо побачити, яка пошукова робота в якому відділі.

У цій таблиці, додавши зовнішній ключ у Deptcode до імені вчителя, ми можемо створити зв'язок між двома таблицями.

Ідентифікатор вчителя DeptCode Ім'я Lname
B002 002 Девід Уорнер
B017 002 Сара Йосип
B009 001 Майк Брантон

Ця концепція також відома як референтна цілісність.

Що таке ключ Compound?

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

Приклад:

Номер замовлення PorductID Назва продукту Кількість
B005 JAP102459 Миша 5
B005 DKT321573 USB 10
B005 OMG446789 РК-монітор 20
B004 DKT321573 USB 15
B002 OMG446789 Лазерний принтер 3

У цьому прикладі OrderNo та ProductID не можуть бути первинним ключем, оскільки вони не однозначно ідентифікують запис. Однак можна використовувати складений ключ ідентифікатора замовлення та ідентифікатора товару, оскільки він однозначно ідентифікує кожен запис.

Що таке клавіша Composite?

КОМПОЗИТНИЙ КЛЮЧ - це поєднання двох або більше стовпців, які однозначно ідентифікують рядки в таблиці. Поєднання колон гарантує унікальність, хоча унікальність унікальності не гарантується. Отже, вони поєднуються для однозначної ідентифікації записів у таблиці.

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

Що таке сурогатний ключ?

СУРРОГАТНІ КЛЮЧІ - це штучний ключ, який прагне однозначно ідентифікувати кожен запис, називається сурогатним ключем. Цей тип часткового ключа в DBM є унікальним, оскільки він створюється, коли у вас немає природного первинного ключа. Вони не надають ніякого значення даним у таблиці. Сурогатний ключ, як правило, ціле число. Сурогатний ключ - це значення, яке генерується безпосередньо перед тим, як запис буде вставлено в таблицю.

Ім'я Прізвище Час початку Час закінчення
Енн Сміт 09:00 18:00
Джек Френсіс 08:00 17:00
Анна Маклін 11:00 20:00
Показано Віллам 14:00 23:00

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

Сурогатні ключі в sql дозволяються, коли

  • Жодна властивість не має параметра первинного ключа.
  • У таблиці, коли первинний ключ занадто великий або складний.

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

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

Резюме

  • Ключ у SQL - це атрибут або набір атрибутів, який допомагає ідентифікувати рядок (кортеж) у відношенні (таблиці)
  • Ключі СУБД дозволяють встановити зв'язок між та визначити зв'язок між таблицями
  • Сім типів ключів СУБД: Super, Primary, Candidate, Alternate, Foreign, Compound, Composite і Surrogate Key.
  • Супер ключ - це група одиночних або декількох ключів, яка ідентифікує рядки в таблиці.
  • Стовпець або група стовпців у таблиці, яка допомагає нам однозначно ідентифікувати кожен рядок у цій таблиці, називається первинним ключем
  • Усі ключі, які не є первинними ключами, називаються альтернативними
  • Супер ключ без повторного атрибута називається ключом кандидата
  • Складений ключ - це ключ, який має безліч полів, що дозволяють однозначно розпізнати конкретний запис
  • Ключ, який має кілька атрибутів для однозначної ідентифікації рядків у таблиці, називається складеним ключем
  • Штучний ключ, який прагне однозначно ідентифікувати кожен запис, називається сурогатним ключем
  • Первинний ключ ніколи не приймає нульові значення, тоді як зовнішній ключ може приймати кілька нульових значень.