11.6. Уникальные индексы#

11.6. Уникальные индексы

11.6. Уникальные индексы

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

CREATE UNIQUE INDEX name ON table (column [, ...]) [NULLS [ NOT ] DISTINCT];

В настоящее время только индексы B-дерева могут быть объявлены уникальными.

Когда индекс объявлен уникальным, не допускается наличие нескольких строк таблицы с одинаковыми индексированными значениями. По умолчанию, null значения в уникальной колонке не считаются равными, что позволяет иметь несколько null в колонке. Опция NULLS NOT DISTINCT изменяет это и заставляет индекс рассматривать null как равные. Уникальный индекс из нескольких столбцов будет отклонять только те случаи, когда все индексированные столбцы равны в нескольких строках.

Tantor SE-1С автоматически создает уникальный индекс, когда для таблицы определено ограничение уникальности или первичный ключ. Индекс охватывает столбцы, составляющие первичный ключ или ограничение уникальности (мультиколоночный индекс, если это уместно), и является механизмом, который обеспечивает соблюдение ограничения.

Примечание

Не нужно создавать индексы на уникальных столбцах вручную; это просто дублирование автоматически созданного индекса.