Перед тем, как создать таблицы, которые ссылаются на домены, необходимо задать описание доменов при использовании команды CREATE DOMAIN. В результате создается шаблон, на который можно ссылаться в командах создания и модификации таблиц.
Столбцы, базирующиеся на доменах, наследуют все характеристики домена, некоторые из них, кроме определения типа данных, могут быть переопределены в локальных описаниях столбцов.
CREATE DOMAIN <имя_домена> [as] <тип_данных>
[DEFAULT {literal|NULL|USER}]
[NOT NULL] [CHECK (<dom_condition>)] – задает ограничение (описание контроля данных при вводе и изменении);
Для задания условий используются следующие ключевые слова:
VALUE – подразумевает значение, вводимое в поле (IS NULL, IS NOT NULL, BETWEEN AND, LIKE, OR, IN и т.д.)
Конструкция CHECK не может быть переопределена при описании атрибута. Если при описании поля в таблице ссылающегося на домен, имеющий CHECK, указано свое ограничение, то действуют оба ограничения. Домен может иметь только одну конструкцию CHECK.
Пример:
CREATE DOMAIN USERNAME AS VARCHAR (20) DEFAULT USER;
CREATE DOMAIN MONTH AS SMALLINT CHECK (VALUE BETWEEN 1 AND 2);
CREATE DOMAIN PVEIGHT AS NUMERIC (12, 2) DEFAULT NULL CHECK ((VALUE IS NULL) OR (VALUSE>1.25));
ALTER DOMAIN – для изменения команд домена. С помощью её можно изменять характеристики домена, кроме типа данных и установок NOT NULL. Сделанные изменения воздействуют на атрибуты всех таблиц, где использовался измененный домен.
ALTER DOMAIN <имя_домена> {[SET DEFAULT {literal|NULL|USER}]
CREATE TABLE – создание таблицы. Упрощенный синтаксис:
CREATE TABLE <имя_таблицы> (описание полей: NAME {<тип_данных>|COMPUTED BY (выражение)|<имя_домена>} [DEFAULT {literal|NULL|USER}] [NOT NULL] [<ограничение столбца>]);
COMPUTED BY (выражение) – выражение для вычисляемого столбца. Значения вычисляемых столбцов рассчитывается всякий раз при обращении к ним. Выражение может быть любым допустимым в InterBase выражением, возвращающим чототам простого типа. Например, допустимо выражение с предложением SELECT
Ограничение столбца - описывает ограничение логической целостности столбца. Конструкция ограничения столбца имеет следующий синтаксис: