Субд лекции

Темы:

Стандартный SQL-92

При описании таблицы должен быть определен хотя бы один столбец и могут быть определены ограничения для таблицы. Столбец определяется следующим образом:

определение столбца ::=

имя столбца|{имя домена

|тип данных [размер]}

[ограничение столбца...]

[DEFAULT значение по умолчанию]

[COLLATE имя сравнения]

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

В стандарте SQL-92 принято семь типов данных, но большинство из них имеют подтипы с собственными именами, используемыми при задании типов данных для столбцов или доменов. Именно каждый подтип обычно и считается типом данных, однако для работы самой СУБД нет необходимости различать типы данных в пределах категорий.

Стандарт предусматривает следующие категории данных:

·        CHARACTER STRING (CHARACTER, CHARACTER VARYING);

·        NATIONAL CHARACTER (NATIONAL CHARACTER, NATIONAL CHARACTER VARYING);

·        BIT STRING (BIT, BIT VARYING);

·        EXACT NUMERIC (NUMERIC, DECIMAL, INTEGER, SMOLLINT;

·        APPROXIMATE NUMERIC (FLOAT, REAL, DOUBLE PRESION);

·        DATETIME (DATE, TIME, TIMESTAMP);

·        INTERVAL.

Если вместо типа данных указывается имя домена, то, естественно, что этот домен должен быть предварительно определен.

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

Возможны следующие ограничения:

·        NOT NULL;

·        PRIMARY KEY;

·        UNIQUE;

·        CHECK;

·        FOREIGN KEY/REFERENCES.

Если для столбца задано ограничение NOT NULL, то либо должно быть определено значение по умолчанию, либо каждый оператор INSERT или UPDATE не должен приводить к появлению NULL.

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

предыдущаяследующая