Типи даних InterBase

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

У таблиці 2.1 приведені основні типи даних, використовувані в InterBase для полів таблиць, при описі доменів, для змінних усередині процедур, що зберігаються, і тригерів і для параметрів в процедурах і функціях користувача.

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

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

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

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

При описі синтаксису операторів квадратні дужки позначають необов'язковий елемент, фігурні дужки об'єднують групу елементів оператора в один | означає вибір однієї з декількох альтернатив. Елемент, розташований в кутових дужках повинен пояснюватися окремо.

Таблица 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.

У наведеному прикладі необов'язковий елемент

[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
Сейчас читают про: