Skip to main content

Что такое ключевое поле?

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

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

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

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