Типы данных InterBase

Понятие типов данных в реляционной модели данных соответствует понятию типа данных в языках программирования. В современных реляционных БД допускается хранение символьных, числовых данных, специальных числовых данных таких как "деньги", а также дат и времени.

В таблице 2.1 приведены основные типы данных, используемые в InterBase для полей таблиц, при описании доменов, для переменных внутри хранимых процедур и триггеров и для параметров в процедурах и функциях пользователя.

Домен – это описание множества допустимых значений поля таблицы. Описание домена показывает тип данных (например, число или строка), дли-ну данных и другие ограничения (например, требование, чтобы первый сим-вол был буквой или чтобы значение не превышало заданного числа). В InterBase домены используются только в операторах создания и изменения структуры таблиц.


Таблица 2.1 – Типы данных InterBase

Название Размер Диапазон/точность Описание
SQL диалект 1
INTEGER 32 бита от –2 147 483 648 до 2 147 483 647 Длинное целое.
SMALLINT 16 бит от –32 768 до 32 767 Короткое целое.
FLOAT 32 бита от 3,4х10P–38P до 3,4х10P38P Число с одинарной точностью (точность 7 значащих цифр).
DOUBLE PRECISION 64 бита от 1,7х10P-308P до 1,7х10P308P Число с двойной точностью (точность 15 значащих цифр)
DATE 64 бита от 1 января 100 года н.э. до 29 февраля 32768 года Дата. Включает информацию о времени.
CHAR(n) n сим-волов n = 1÷32767 Строка символов фиксиро-ванной длины.
VARCHAR(n) n сим-волов n = 1÷32767 Строка символов переменной длины.
BLOB пере-менный нет Двоичные большие объекты, такие как графика, текст, циф-ровой звук. Содержание опре-деляется подтипом.
SQL диалект 3
BIGINT 64 бита от -2P63P до 2P63P-1 Большое целое.
DATE 32 бита от 1 января 100 года н.э. до 29 февраля 32768 года Только дата без информации о времени.
TIME 32 бита от 00:00 до 23:59:9999 Данные о времени с точно-стью до десятитысячной доли секунды.
TIMESTAMP 64 бита   Комбинация типов DATE и TIME.

Для создания доменов используется команда CREATE DOMAIN, для изменения – ALTER DOMAIN, а для удаления – DROP DOMAIN.

Ниже приведен упрощенный синтаксис оператора создания домена.

CREATE DOMAIN Имя_Домена [ AS ] <тип данных> [ DEFAULT { Literal | NULL | USER} ] [ NOT NULL ] [ CHECK ( Проверяемое_Условие ) ];

При описании синтаксиса операторов квадратные скобки обозначают необязательный элемент, фигурные скобки объединяют группу элементов оператора в один, | означает выбор одной из нескольких альтернатив. Элемент, расположенный в угловых скобках должен поясняться отдельно.

В приведенном примере необязательный элемент

[ DEFAULT { Literal | NULL | USER} ]

позволяет задать значение столбца по умолчанию с использованием одной из трех возможностей. Первая возможность, обозначенная как Literal, позволяет задавать значения по умолчанию в виде текстовых констант, чисел и дат. Вторая возможность – указать в определении столбца DEFAULT NULL, что приведет к тому, что во вновь создаваемых записях значение этого столбца будет NULL. Третий способ – указать при определении столбца DEFAULT USER. Если в этом случае в таблицу будет вставлена строка без указания значения этого поля, то в него будет занесено имя текущего пользователя.

Если необходимо, чтобы поле имело какое-то непустое значение, в описание домена вносят NOT NULL.

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

Вместо элемента <тип данных> должно быть использовано название одного из типов данных InterBase (таблица 2.1).

Фрагмент сценария создания доменов:

/***************************************************

Домены

***************************************************/

CREATE DOMAIN ID INTEGER NOT NULL; -- идентификатор

CREATE DOMAIN Name VARCHAR( 30 ) NOT NULL; -- имя

CREATE DOMAIN CurrentDate DATE DEFAULT ' TODAY ' NOT NULL;

CREATE DOMAIN Percent INTEGER -- процент CHECK (VALUE >= 0 AND VALUE <= 100); -- текст без ограничения длины:

CREATE DOMAIN MEMO BLOB SUB_TYPE TEXT SEGMENT SIZE 128;

Синтаксис оператора удаления домена:

DROP DOMAIN Имя_Домена;

Оператор изменения домена ALTER DOMAIN позволяет изменить тип данных, имя домена, а также добавить или удалить условие контроля данных. Чтобы изменить домен можно также внести изменения в системные таблицы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: