Складений ключ
У розробці бази даних складений ключ — це ключ-кандидат, який складається з двох або більше атрибутів (стовпців таблиці), які разом однозначно ідентифікують сутність (рядок таблиці). Складний ключ – це складений ключ, для якого кожен атрибут, що складає ключ, є зовнішнім ключем сам по собі.
Переваги
Складені ключі мають переваги, подібні до переваг природного ключа, оскільки вони часто складаються з кількох атрибутів природного ключа.
Зберігання
Складені ключі використовують менше дискового простору в порівнянні з визначенням стовпця сурогатного ключа, тому що складений ключ уже існує як атрибути в таблиці і його не потрібно визначати в таблиці лише з метою унікальної ідентифікації. Це спрощує таблицю, а також економить місце на диску.
Простіший у реалізації та використанні
Складені ключі легко реалізувати в схемі бази даних, оскільки вони можуть бути пов’язані з реальними вимогами до зберігання бази даних. Їх легше використовувати, оскільки вони можуть бути пов’язані з реальними сценаріями. Крім того, складений ключ має набагато менші шанси провалу однозначної ідентифікації записів таблиці, оскільки він сформований з кількох атрибутів, що зменшує ймовірність помилки в унікальній ідентифікації. Їх можна використовувати для запиту даних, коли один природний ключ не може однозначно ідентифікувати стовпці.
Недоліки
Зміни вимог
Бізнес-вимоги та правила можуть змінитися, які в свою чергу можуть змінити формат певних об’єктів реального світу. Складені ключі утворюються з кількох природних ключів, які пов’язані з реальним світом, і зі зміною їх формату в реальному світі їх формат у базі даних також буде змінено. Це незручно, оскільки кількість атрибутів складеного ключа зміниться, і всі зовнішні ключі потрібно буде оновити.
Складність і зберігання
Складений ключ містить кілька атрибутів, і він буде посилатися в кількох таблицях як зовнішній ключ, що використовує багато дискового простору, оскільки кілька стовпців зберігаються як зовнішній ключ, замість одного. Це робить схему складною, а запити ЦП стають затратними, оскільки для кожного приєднання СУБД потрібно буде порівнювати три атрибути замість одного, у випадку простого природного ключа.
Приклад
Прикладом є сутність, що представляє модулі, які відвідує кожен студент в університеті. Вона має studentID і moduleCode як первинний ключ. Кожен з атрибутів, з яких складається первинний ключ, є простим ключем, оскільки кожен представляє унікальне посилання при ідентифікації студента в одному екземплярі та модуля в іншому, тому цей ключ є складеним ключем.
На противагу цьому, використовуючи той самий приклад, уявіть, що ми ідентифікували учня за його ім’ям + прізвищем . У таблиці, яка представляє студентів, нашим первинним ключем тепер буде ім’я + прізвище. Оскільки студенти можуть мати однакові імена чи прізвища, ці атрибути не є простими ключами. Первинний ключ ім’я + прізвище для студентів є складеним ключем.
Див. також
Зовнішні посилання
- Композитні зворотні функціональні властивості : для еквівалентного поняття в семантичній мережі
- Технічне завдання бази даних відносин, ключі : огляд різних типів ключів в СУБД
- Різні типи ключів у базі даних : огляд усіх типів ключів, які використовуються в СУБД