УНИКАЛЬНЫЕ Ограничения в Microsoft SQL Server

Преимущества использования УНИКАЛЬНЫХ ограничений над первичными ключевыми ограничениями

Создав ограничение UNIQUE, администраторы SQL Server указывают, что столбец может не содержать повторяющихся значений. Когда вы создаете новое ограничение UNIQUE, SQL Server проверяет соответствующий столбец, чтобы определить, содержит ли он повторяющиеся значения. Если таблица содержит ранее существовавшие дубликаты, команда создания ограничения завершится неудачно. Точно так же, если у вас есть ограничение UNIQUE для столбца, попытки добавить или изменить данные, которые могут привести к существованию дубликатов, также будут неудачными.

Зачем использовать уникальные ограничения

Ограничение UNIQUE и первичный ключ обеспечивают уникальность, но бывают случаи, когда ограничение UNIQUE является лучшим выбором.

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

Создание УНИКАЛЬНОГО Ограничения

Есть много способов создать уникальное ограничение в SQL Server. Если вы хотите использовать Transact-SQL для добавления ограничения UNIQUE к существующей таблице, вы можете использовать инструкцию ALTER TABLE, как показано ниже:

Если вы предпочитаете взаимодействовать с SQL Server с помощью инструментов графического интерфейса, вы также можете создать ограничение UNIQUE с помощью SQL Server Management Studio. Вот как:

  1. Откройте SQL Студия управления сервером .

  2. Разверните папку Таблицы базы данных, в которой вы хотите создать ограничение.

  3. Нажмите правой кнопкой мыши таблицу, в которую вы хотите добавить ограничение, и выберите Дизайн .

  4. В меню дизайнера таблиц нажмите Индексы/ключи .

  5. В диалоговом окне “Индексы/ключи” нажмите Добавить .

  6. Выберите Уникальный ключ в раскрывающемся списке Тип .

УНИКАЛЬНЫЕ Ограничения против УНИКАЛЬНЫХ Индексов

Был некоторый беспорядок о разнице между УНИКАЛЬНЫМ ограничением и УНИКАЛЬНЫМ индексом. Хотя вы можете использовать различные команды Transact-SQL для их создания (ALTER TABLE… ADD CONSTRAINT для ограничений и CREATE UNIQUE INDEX для индексов), они по большей части имеют одинаковый эффект. Фактически, когда вы создаете ограничение UNIQUE, оно фактически создает индекс UNIQUE для таблицы. Важно отметить, однако, что есть несколько отличий:

  • Когда вы создаете индекс, вы можете добавить дополнительные опции к команде создания.
  • Столбец, на который распространяется ограничение UNIQUE, может использоваться как внешний ключ.
Оцените статью
Solutics.ru
Добавить комментарий