Природний ключ
Природний ключ (також відомий як бізнес-ключ[1] або ключ домену[2]) — це тип унікального ключа в базі даних, сформований з атрибутів, які існують і використовуються у зовнішньому світі за межами бази даних (тобто в бізнес-домені або області дискурсу).[3] У реляційній моделі даних природний ключ є суперключем і, отже, є функціональним визначником для всіх атрибутів у відношенні.
Природний ключ виконує дві додаткові цілі: він забезпечує засіб ідентифікації даних і накладає правило, зокрема обмеження унікальності, щоб гарантувати, що дані залишаються унікальними в інформаційній системі. Обмеження унікальності забезпечує унікальність даних у певному технічному контексті (наприклад, набір значень у таблиці, файлі чи змінній відношення), відхиляючи введення будь-яких даних, які інакше порушили б обмеження. Це означає, що користувач може покладатися на гарантовану відповідність між фактами, ідентифікованими ключовими значеннями, записаними в системі, і зовнішнім доменом дискурсу (єдина версія істини).
Природний ключ відрізняється від сурогатного ключа, який не має значення за межами самої бази даних і не заснований на спостереженні в реальному світі або призначений як твердження про реальність, що моделюється. Таким чином, природний ключ забезпечує певну гарантію якості даних, тоді як сурогатний — ні. Зазвичай елементи даних мають кілька ключів, будь-яке число яких може бути природним або сурогатним.
Переваги
Переваги використання природного ключа для однозначної ідентифікації записів у відношенні включають менше використання дискового простору, а також природний ключ є атрибутом, який пов'язаний з бізнесом або реальним світом, тому в більшості випадків він уже зберігається у відношенні, яке економить місце на диску в порівнянні зі створенням нового стовпця для зберігання сурогатного ключа.
Ще одна перевага використання природних ключів полягає в тому, що це спрощує якість даних і їх легше пов'язувати з реальним життям під час проектування системи баз даних. Вони спрощують якість даних, оскільки використання природного ключа, який є унікальним у реальному світі, гарантує, що не може бути декілька записів з одним і тим же первинним ключем. Порівняння схеми бази даних зі сценарієм реального світу є важливою частиною розробки схеми бази даних, і коли в таблицях бази даних використовується природний ключ, це полегшує інженеру бази даних розробку системи бази даних.
Недоліки
Використання природних ключів як унікальних ідентифікаторів у таблиці має один головний недолік, який полягає у зміні бізнес-правил або зміні правил атрибута в реальному світі. Визначення структури атрибута природного ключа може змінитися в майбутньому. Наприклад, якщо є таблиця, в якій зберігається інформація про громадян США, номер соціального страхування буде діяти як природний ключ, але він може створити проблему в майбутньому, якщо уряд США змінить структуру номеру соціального страхування і з певних причин збільшить кількість цифр у SSN. У цьому випадку адміністратору бази даних доведеться змінити схему таблиці і, можливо, також оновити записи таблиці.