FirebirdSQL logo
 DOMAININDEX 

Столбцы типа массив

Для любого типа данных кроме BLOB можно указать размерность массива, если столбец должен быть массивом.Размерность массива указывается в квадратных скобках.Чтобы не перепутать их с символами, означающими необязательные элементы, они выделены жирным шрифтом.При указании размерности массива указываются два числа через двоеточие.Первое число означает начальный номер элемента массива, второе — конечный.Если указано только одно число, то оно означает последний номер в элементе массива, а первым номером считается 1.Для многомерного массива размерности массива перечисляются через запятую.

Ограничения

Существуют четыре вида ограничений:

  • первичный ключ (PRIMARY KEY);

  • уникальный ключ (UNIQUE);

  • внешний ключ (REFERENCES или FOREIGN KEY);

  • проверочное ограничение (CHECK).

Ограничения могут быть указаны на уровне столбца (“ограничения столбцов”) или на уровне таблицы (“табличные ограничения”).Ограничения уровня таблицы необходимы, когда ключи (ограничение уникальности, первичный ключ или внешний ключ) должны быть сформированы по нескольким столбцам, или, когда ограничение CHECK включает несколько столбцов, т.е.действует на уровне записи.Синтаксис для некоторых типов ограничений может незначительно отличаться в зависимости от того определяется ограничение на уровне столбца или на уровне таблицы.

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

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

  • Вы можете смешивать ограничения столбцов и ограничения таблиц в одном операторе CREATE TABLE.

Системой автоматически создаётся индекс для первичного ключа (PRIMARY KEY), уникального ключа (UNIQUE KEY) и внешнего ключа (REFERENCES для ограничения уровня столбца, и FOREIGN KEY REFERENCES для ограничения уровня таблицы).

Имена для ограничений и их индексов

Если имя ограничения не задано, то оно автоматически будет сгенерировано системой.

Ограничения уровня столбца и их индексы автоматически именуются следующим образом:

  • Имена ограничений имеют следующий вид INTEG_<n>, где n представлено одним или несколькими числами;

  • Имена индексов имеют вид RDB$PRIMARY<n> (для индекса первичного ключа), RDB$FOREIGN<n> (для индекса внешнего ключа) или RDB$<n> (для индекса уникального ключа), где n представлено одним или несколькими числами;

Схемы автоматического формирования имён для ограничений уровня таблицы и их индексов одинаковы.

Именованные ограничения

Имя ограничения можно задать явно, если указать его в необязательном предложении CONSTRAINT.По умолчанию имя индекса ограничения будет тем же самым, что и самого ограничения.Если для индекса необходимо задать другое имя, то его можно указать в предложении USING.