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


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

Изменения: 12 декабря 2006 г.

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

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

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

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

  1. В обозревателе объектов щелкните правой кнопкой мыши таблицу и выберите Конструктор (Изменить в версии с пакетом обновления 1 или более ранней версии).

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

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

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

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

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

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

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

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

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

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

ms175825.note(ru-ru,SQL.90).gifПримечание.
Нельзя создать уникальный индекс для одного столбца, если в более чем одной строке этого столбца содержится значение NULL. Нельзя также создать уникальный индекс для нескольких столбцов, если в более чем одной строке такой комбинации столбцов содержится значение NULL. При индексировании такие значения будут рассматриваться как дубликаты.

См. также

Основные понятия

Правила по созданию уникальных индексов

Другие ресурсы

Работа с индексами (визуальные инструменты для баз данных)
Диалоговое окно «Индексы/Ключи» (визуальные инструменты для баз данных)
Работа с ключами (визуальные инструменты для баз данных)

Справка и поддержка

Получение помощи по SQL Server 2005