Поделиться через


Как создавать уникальные индексы (визуальные инструменты для баз данных)

В Microsoft SQL Server можно создать уникальный индекс для уникального столбца (например employee id) или для набора столбцов, который в совокупности уникально идентифицирует каждую запись (например author + title).

Например, если планируется часто запрашивать столбец с номером социального страхования (ssn) таблицы employee (где первичным ключом является emp_id) и нужно гарантировать уникальность номеров социального страхования, можно создать индекс для столбца ssn. Если пользователь введет один и тот же номер социального страхования для более чем одного работника, будет выведена ошибка базы данных, а таблицу сохранить будет невозможно.

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

Создание уникального индекса

  1. В обозревателе объектов щелкните таблицу правой кнопкой мыши и выберите Создать.

    Таблица будет открыта в конструкторе таблиц.

  2. В меню Конструктор таблиц выберите пункт Индексы и ключи.

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

  4. Находясь в сетке, щелкните Тип.

  5. Выберите Индекс в раскрывающемся списке справа от свойства.

  6. В списке Столбцы выберите столбцы, которые необходимо проиндексировать. Выбрать можно до 16 столбцов. Для оптимальной производительности следует выбирать только один или два столбца на индекс. Для каждого выбранного столбца укажите, будут ли значения данного столбца располагаться в индексе в возрастающем или убывающем порядке.

  7. Находясь в сетке, щелкните Уникальный.

  8. Выберите Да в раскрывающемся списке справа от свойства.

  9. Выберите параметр Пропустить повторяющиеся ключи и нажмите кнопку Да, чтобы данные, которые создают дублирующийся ключ в уникальном индексе (с помощью инструкции INSERT), были пропущены.

Индекс создается в базе данных при сохранении таблицы или схемы.

ПримечаниеПримечание

Нельзя создать уникальный индекс для одного столбца, если в более чем одной строке этого столбца содержится значение NULL. Нельзя также создать уникальный индекс для нескольких столбцов, если в более чем одной строке такой комбинации столбцов содержится значение NULL. При индексировании такие значения будут рассматриваться как дубликаты.