Sql Scholl
Распечатать страницу
Перейти на главную Карта сайта Отправить сообщение

Расширенные возможности SQL

Ограничения уникальности

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

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

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

     Синтаксис ограничения на уникальность похож на синтаксис других ограничений: при определении таблицы указывается ключевое слово UNIQUE или отдельно используется ограничение CONSTRAINT.