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

Первинний ключ проти ключа кандидата
 

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

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

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

• ключі-кандидати повинні бути унікальними в межах домену і не повинні містити жодних значень NULL.

• ключ-кандидат не повинен ніколи змінюватися, і він повинен містити однакове значення для конкретного виникнення суб'єкта господарювання.

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

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

Первинний ключ є найкращий кандидатський ключ таблиці, який використовується для однозначної ідентифікації записів які зберігаються в таблиці. Під час створення нової таблиці в базі даних нам пропонується вибрати первинний ключ. Тому вибір первинного ключа для таблиці - це найважливіше рішення, яке має прийняти дизайнер бази даних. Найважливішим обмеженням, яке слід враховувати при вирішенні первинного ключа, є те, що вибраний стовпець таблиці повинен містити лише унікальні значення, і він не повинен містити жодних значень NULL. Деякі основні ключі, які зазвичай використовуються при розробці таблиць, - це номер соціального страхування (SSN), посвідчення особи та номер національної посвідчення особи (NIC).

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

Первинний ключ - найкращий ключ-кандидат.

Яка різниця між первинним ключем та ключем кандидата?

• Ключ-кандидат - це стовпець, який визначається як унікальний, тоді як первинний ключ - це стовпець, який однозначно ідентифікує запис.

• Таблиця без кандидатських ключів не означає жодного відношення.

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

• Хоча первинний ключ є одним із ключів-кандидата, іноді це єдиний кандидат-ключ.

• Після вибору первинного ключа інші кандидати-ключі стають унікальними ключами.

• Практично ключовий ключ може містити значення NULL, хоча він не містить жодного значення. Тому ключ-кандидат не кваліфікується для первинного ключа, оскільки первинний ключ не повинен містити жодних значень NULL.

• Можливо також, що ключі-кандидати, які є унікальними на даний момент, можуть містити повторювані значення, які дискваліфікують ключ-кандидата не стає первинним ключем.

Підсумок:

Первинний ключ проти ключа кандидата

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

Надано зображення: 

  1. Первинний ключ від SqlPac (CC BY-SA 3.0)