Russian Belarusian English German Japanese Ukrainian

Домены

CuBook05

Домен представляет собой именованное описание столбца. После определения домена его имя можно использовать при описании других столбцов. Домен удобен в случаях, когда несколько столбцов, в том числе принадлежащих различным таблицам, имеют одинаковое описание. Если провести сравнение с языком программирования, например С++, то аналогом домена является тип данных. Таким образом, домен можно рассматривать как шаблон описания столбца.
 
Перед использованием домена его нужно создать с помощью оператора:
CREATE DOMAIN <Имя домена>
[AS] <Описание домена>
Имя созданного домена затем можно включать в описания столбцов:
<Имя столбца> <Имя домена>
Описание домена не отличается от ранее рассмотренного описания столбца и может включать различные ограничения, применимые к столбцу. Однако в отличие от ограничений для столбца, имя домена нельзя использовать в выражениях для ограничений: вместо имени домена в них используется слово VALUE.
 
Пример использования доменов:
CREATE DOMAIN D_Position AS VARCHAR(20) NOT NULL;
CREATE DOMAIN D_Price AS FLOAT CHECK(VALUE > 0);
CREATE TABLE Position
(Code INTEGER NOT NULL PRIMARY KEY
Position D_Position,
Note VARCHAR(50));
CREATE TABLE Personnel
(Code INTEGER NOT NULL PRIMARY KEY,
Name VARCHAR(30),
Position D_Position,
Salary FLOAT,
BirthDay DATE);
Домен D_Position представляет собой/описание строкового столбца длиной не более 20 символов, который не может быть пустым. Этот домен использован при описании столбцов Position Таблиц Position и Personnel. Второй домен D_Price представляет собой числовой столбец, значение которого должно быть положительным. Это ограничение задано конструкцией CHECK (VALUE > 0). Для приводимых таблиц домен D_Price не нужен, а создан с целью последующего использования.
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий