Первинний ключ проти зовнішнього ключа: різниця та порівняння

Система керування базами даних (СУБД) має важливе значення в бізнесі, банківській справі, авіакомпаніях, телекомунікаціях та університетах, оскільки це ефективний і надійний метод для створення, зберігання та керування даними бази даних. Система керування реляційними базами даних (RDBMS) — це вдосконалена форма DMBS, структурована спеціально для реляційних баз даних.

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

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

Ключові винесення

  1. Первинний ключ — це унікальний ідентифікатор для кожного запису в таблиці бази даних, що забезпечує відсутність двох рядків з однаковим значенням первинного ключа.
  2. Зовнішній ключ — це поле в таблиці, яке посилається на первинний ключ іншої таблиці, встановлюючи зв’язок між двома таблицями та зберігаючи посилальну цілісність.
  3. Основна відмінність між первинними ключами та зовнішніми ключами полягає в їхній функції в базі даних, де первинні ключі забезпечують унікальний ідентифікатор для записів. Навпаки, зовнішні ключі створюють зв’язки між таблицями, посилаючись на первинні ключі в інших таблицях.

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

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

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

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

Також читайте:  Brainly проти Quora: різниця та порівняння

 

Таблиця порівняння

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

 

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

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

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

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

primary key
 

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

Зовнішній ключ посилається на стовпець у таблиці бази даних, який забезпечує зв’язок між двома таблицями. Якщо таблиця 1 має первинний ключ таблиці 2, цей атрибут є зовнішнім ключем.

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

Також читайте:  WPF проти Windows Forms: різниця та порівняння

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

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

Основні відмінності між первинним ключем і зовнішнім ключем

  1. Первинні ключі не дозволяти двом рядкам у таблиці бази даних мати повторювані значення. Іноземні ключі дозволити двом рядкам у таблиці бази даних мати повторювані значення.
  2. В атрибуті в первинні ключі, значення можна вставляти в таблицю, навіть якщо зовнішній ключ не містить цього значення у своєму стовпці. В іноземні ключі атрибут, знижки не можна вставити в таблицю, якщо значення відсутні в базі даних первинного ключа.
  3. A primary key атрибут може мати лише один діапазон первинних ключів у своїй таблиці. А зовнішній ключ атрибут може мати багато зовнішніх ключів у своїй таблиці.
  4. Первинні ключі мають кластерний індекс, тобто всі рядки у відношенні бази даних відсортовані. Іноземні ключі не мають автоматичного кластеризованого індексу, але його можна зробити вручну.
  5. під первинні ключі, значення можна видалити з довідкової таблиці, переконавшись, що угода не присутня в довідковій таблиці зовнішнього ключа. У зовнішніх ключах значення можна видаляти без збоїв, оскільки не має значення, чи значення все ще актуальне в довідковій таблиці первинних ключів.
  6. Первинні ключі можна визначити за тимчасовою таблицею. Іноземні ключі не можна визначити або застосувати на тимчасовій таблиці.

посилання
  1. https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=HgKaHPnYA9oAAAAA:_NYpWs4jzN-BI4lT9bWA73EPTvOBtYxJzXB7RpKVXGvZRc0htXpsv742IQMGSsjiuA1f_E_80IN18O0
  2. https://ieeexplore.ieee.org/abstract/document/994756/

Останнє оновлення: 11 червня 2023 р

крапка 1
Один запит?

Я доклав стільки зусиль для написання цього допису в блозі, щоб надати вам користь. Це буде дуже корисно для мене, якщо ви захочете поділитися цим у соціальних мережах або зі своїми друзями/родиною. ДІЛИТИСЯ ЦЕ ♥️

10 думок про «Первинний ключ проти зовнішнього ключа: різниця та порівняння»

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

    відповісти
  2. Я бачу, що стаття добре встановлює, що первинні ключі забезпечують унікальність у таблиці бази даних, не допускаючи повторюваних значень.

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

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

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

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

    відповісти

Залишити коментар

Хочете зберегти цю статтю на потім? Клацніть сердечко в нижньому правому куті, щоб зберегти у власній коробці статей!