Skip to main content

Что такое составной ключ?

В технологии организации базы данных «ключ» - это определенный атрибут в таблице, используемый для однозначной идентификации конкретного объекта. Составной ключ использует два или более атрибута для достижения той же цели; только когда они находятся в тандеме, эти предметы означают «совпадение» с целевым предметом. Составные ключи обычно используются для таблиц, структура информации которых слишком сложна, чтобы работать с использованием одного ключа. Другое требование составных ключей заключается в том, что ни один из отдельных выбранных атрибутов составного ключа не может рассматриваться как простой ключ с одним атрибутом сам по себе.

Одним из самых простых примеров таблицы базы данных, требующей составного ключа, является каталог сотрудника или студента. Представьте, что таблица содержит один список для «Имен» и другой список для «Фамилий». Сами по себе ни имена, ни фамилии конкретного учащегося или сотрудника не будут достаточны, чтобы гарантировать уникальную идентификацию, поскольку возможно, что два или более человека в базе данных могут иметь совпадающие имена или фамилии. При объединении в составной ключ - с использованием записей «Имя» и «Фамилия» для идентификации конкретного учащегося или сотрудника - вероятность того, что каждая комбинация имени и фамилии будет уникальной, существенно возрастает. Таким образом, только составной ключ имени и фамилии достаточно для однозначной идентификации любого конкретного студента или сотрудника.

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

Хотя каждый отдельный атрибут в составном ключе сам по себе не является уникальным, тем не менее любой атрибут может быть выбран в качестве внешнего ключа. Внешний ключ связывает две или более таблиц в базе данных. Например, рассмотрим базу данных университета, в которой есть отдельная таблица для информации об ученике и учителя, а комбинация «Имя» и «Фамилия» используется в качестве составного ключа в таблице студента. Поэтому одну и ту же составную комбинацию клавиш «Имя» и «Фамилия» можно использовать для связывания таблиц ученика и учителя, обеспечивая межсетевой барьер.