Для поля можна визначити не лише тип даних, але й ще одну додаткову характеристику - NULL і NOT NULL. Якщо для поля таблиці визначений атрибут NULL, це дозволяє не вказувати при введенні даних даного поля. Якщо ж, навпаки для стовпця визначений атрибут NOT NULL SQL Server не дозволить лишити дане поле пустим під час вставки рядка. Таким чином, атрибути NULL і NOT NULL виконують функцію перевірки допустимості даних. По замовчуванню полю назначається атрибут NOT NULL, який не дозволяє залишати в полі невизначені значення.
Атрибут IDENTYTY. Визначивши для поля цю властивість, необхідно вказати початкове значення і крок його зростання (лічильник).
Атрибут PRIMARY KEY встановлює первинний (внутрішній) ключ.
Атрибут FOREIGN KEY встановлює вторинний (зовнішній) ключ.
Атрибут UNIQUE застосовується для будь-якого поля з метою не дозволити вводити значення, які повторюються. Таке поле не може бути ключем чи складовою частиною ключа.
Атрибут DEFAULT забезпечує автоматичне введення у поле повне значення.
Атрибут CHECK накладає умови на введення даних.
Для різних СУБД формати типів даних можуть дещо відрізнятися. Основні типи даних SQL приведені в табл. 6.1
Таблиця 6.1. Основні типи даних
| Тип даних
| Характеристика
|
| ІNTEGER
| ціле число (до 10 значущих цифр і знак)
|
| SMALLІNT
| "коротке ціле" (до 5 значущих цифр і знак)
|
| DECІMAL(p,q)
| десяткове число, що має p цифр (0 < p < 16) і знак; за допомогою q задається число цифр праворуч від десяткової крапки (q < p, якщо q = 0, воно може бути опущене);
|
| FLOAT
| дійсне число з 15 значущими цифрами і цілочисельним порядком, який визначається типом СУБД;
|
| CHAR(n)
| символьний рядок фіксованої довжини з n символів (0 < n < 256);
|
| VARCHAR(n)
| символьний рядок змінної довжини, що не перевищує n символів (n > 0 і різне в різних СУБД, але не менше 4096);
|
| DATE
| дата у форматі, визначеному спеціальною командою (за замовчуванням mm/dd/yy); поля дати можуть містити тільки реальні дати, що починаються за кілька тисячоліть до н.е. і обмежені п'ятим-десятим тисячоліттям н.е.;
|
| TІME
| час у форматі, визначеному спеціальною командою, (за замовчуванням hh.mm.ss);
|
| DATETІME
| комбінація дати і часу;
|
| MONEY
| гроші у форматі, який визначає символ грошової одиниці ($, руб, ...) і його розташування ( суфікс або префікс), точність дробової частини й умова для показу грошового значення.
|