Ограничения уникальности Ограничения уникальности обеспечивают уникальность всех данных в столбце (или в наборе столбцов). Такие столбцы похожи на первичные ключи, но имеются и важные отличия.
• Таблица может содержать множество ограничений уникальности, но у нее должен быть только один первичный ключ.
• Столбцы с ограничением уникальности могут содержать значения NULL.
• Столбцы с ограничением уникальности можно модифицировать и обновлять.
• Значения столбцов с ограничением уникальности можно использовать повторно.
• В отличие от первичных ключей, ограничения уникальности не могут быть использованы для определения внешних ключей.
Примером использования ограничения может служить таблица с данными о служащих. Каждый из них имеет свой уникальный номер карточки социального страхования, но вы вряд ли будете использовать его в качестве первичного ключа, поскольку он слишком длинный (и, кроме того, вы вряд ли захотите сделать эту информацию легко доступной). Поэтому каждому служащему присваивается уникальный идентификатор (первичный ключ) в дополнение к его номеру карточки социального страхования.
Поскольку идентификатор служащего является первичным ключом, вы можете быть уверены в том, что он уникален. К примеру, для того чтобы СУБД проверила уникальность каждого номера карточки социального страхования (дабы вы могли убедиться в том, что не произошла ошибка при вводе и для одного служащего не указали номер карточки другого), нужно определить ограничение UNIQUE для столбца, в котором содержатся номера карточек социального страхования.
Синтаксис ограничения на уникальность похож на синтаксис других ограничений: при определении таблицы указывается ключевое слово UNIQUE или отдельно используется ограничение CONSTRAINT