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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

Переваги

[ред. | ред. код]

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

Зберігання

[ред. | ред. код]

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

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

[ред. | ред. код]

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

Недоліки

[ред. | ред. код]

Зміни вимог

[ред. | ред. код]

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

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

[ред. | ред. код]

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

Приклад

[ред. | ред. код]

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

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

Див. також

[ред. | ред. код]

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

[ред. | ред. код]