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


Практическое руководство. Создание уникальных индексов

Обновлен: Ноябрь 2007

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

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

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

x480ck3b.alert_note(ru-ru,VS.90).gifПримечание.

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих параметров или выпуска. Чтобы изменить параметры, в меню Сервис выберите пункт Импорт и экспорт параметров. Дополнительные сведения см. в разделе Параметры Visual Studio.

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

  1. В обозревателе серверов выберите таблицу базы данных, которую требуется открыть.

  2. В меню База данных выберите Открыть определение таблицы.

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

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

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

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

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

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

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

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

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

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

x480ck3b.alert_note(ru-ru,VS.90).gifПримечание.

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

x480ck3b.alert_note(ru-ru,VS.90).gifПримечание.

Индексы могут использоваться в базах данных по-разному. Дополнительные сведения об этом см. в документации по используемой базе данных.

См. также

Ссылки

Диалоговое окно "Индексы/Ключи"

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

Работа с индексами

Работа с ключами