Jump to content

Составной ключ

В проектировании базы данных составной ключ — это потенциальный ключ , состоящий из двух или более атрибутов. [1] [2] [3] (столбцы таблицы), которые вместе однозначно идентифицируют вхождение объекта (строку таблицы).

Составной ключ — это составной ключ, для которого каждый атрибут, составляющий ключ, является внешним ключом. сам по себе [ нужна ссылка ]

Преимущества

[ редактировать ]

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

Хранилище

[ редактировать ]

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

Легче внедрить и использовать

[ редактировать ]

Составные ключи легко реализовать в схеме базы данных , поскольку их составные части уже называются элементами в базе данных. Когда они также являются естественными ключами, они часто интуитивно понятны в реальных сценариях. Они часто используются, когда несоставной ключ не всегда однозначно идентифицирует запись. Например, личное имя часто, но не всегда, может быть уникальным в данной базе данных, и могут быть добавлены некоторые другие поля, такие как дата рождения, чтобы сделать уникальность более вероятной.

Недостатки

[ редактировать ]

Изменения требований

[ редактировать ]

Бизнес-требования и правила могут измениться, что может изменить формат некоторых объектов реального мира. Составные ключи состоят из множества естественных ключей, которые связаны с реальным миром, и с изменением их формата в реальном мире их формат в базе данных также будет изменен. Это неудобно, поскольку количество атрибутов составного ключа изменится и все внешние ключи необходимо будет обновить.

Сложность и хранение

[ редактировать ]

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

Примером может служить сущность, которая представляет модули, которые каждый студент посещает в университете. Сущность имеет StudentID и ModuleCode в качестве первичного ключа. Каждый из атрибутов, составляющих первичный ключ, является простым ключом, поскольку каждый представляет собой уникальную ссылку при идентификации учащегося в одном случае и модуля в другом, поэтому этот ключ является составным ключом.

Напротив, представьте, что, используя тот же пример, мы определили ученика по его имени + фамилии (при условии, что у людей должны быть разные имена). В таблице, представляющей студентов, нашим первичным ключом теперь будет firstName + LastName . Поскольку учащиеся могут иметь одно и то же имя или фамилию, эти атрибуты не являются простыми ключами. Первичный ключ firstName + LastName для учащихся является составным ключом.

См. также

[ редактировать ]
  1. ^ Коннолли, Томас М.; Бегг, Кэролайн Э. (2015). «12.3.4 Ключи». Системы баз данных: практический подход к проектированию, внедрению и управлению (6., глобальное изд.). Бостон Колумбус Индианаполис: Пирсон. п. 416. ИСБН  978-1-292-06118-4 .
  2. ^ Эльмасри, Рамез; Навате, Шам (2017). «17.4 Индексы на нескольких ключах». Основы систем баз данных (Седьмое, глобальное изд.). Бостон Колумбус Индианаполис Нью-Йорк Сан-Франциско Хобокен Амстердам Кейптаун Дубай Лондон Мадрид Милан Мюнхен Париж Монреаль Торонто Дели Мехико Сан-Паулу Сидней Гонконг Сеул Сингапур Тайбэй Токио: Пирсон. п. 661. ИСБН  978-1-292-09761-9 .
  3. ^ Коронель, Карлос; Моррис, Стивен (2015). «Глоссарий». Системы баз данных: проектирование, реализация и управление (12-е изд.). Cengage Обучение. п. 770. ИСБН  978-1-305-62748-2 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f2d439764cf27529f72b772a6b112070__1717477980
URL1:https://arc.ask3.ru/arc/aa/f2/70/f2d439764cf27529f72b772a6b112070.html
Заголовок, (Title) документа по адресу, URL1:
Composite key - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)