Складений ключ

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

Переваги

Складені ключі мають переваги, подібні до переваг природного ключа, оскільки вони часто складаються з кількох атрибутів природного ключа.

Зберігання

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

Простіший у реалізації та використанні

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

Недоліки

Зміни вимог

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

Складність і зберігання

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

Приклад

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

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

Див. також

Зовнішні посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.