12.1. NOT NULL. Для расширения возможностей работы с данными, вводимыми в таблицу, интересен механизм условий проверки значений, или как его еще часто называют – ограничения данных.
Ограничения данных – это часть определений таблицы, которая ограничивает значения, допустимые к вводу таблицы.
Ограничения дают большие возможности, например, оговорив значение по умолчанию, команда Insert для поля уже ве будет вставлять NULL значение.
Имеется два типа ограничений:
1) Ограничение поля (атрибута) помещается в конец фрагмента команды, объявляющего его имя после типа данных.
2) Ограничение таблицы (отношение) помещается в конце объявления имени таблицы последовательного имени поля.
Полный синтаксис ограничений имеет вид:
CREATE TABLE STUDENTS
( SNUM INTEGER NOT NULL,
SFAM CHAR (20),NOT NULL
SIMA CHAR (10),
SOTCH CHAR (15),
STIP DEMICAL);
Первичный ключи таблицы никогда не должны быть пустыми.
При использовании команды ALTER TABLE можно помещать ограничение столбцов типа NOT NULL, но при этом модифицируемая таблица должна быть пустой.
12.2. UNIQUE.Имеется возможность установить уникальность значений в качестве ограничения столбца с использованием ключевого слова UNIQUE.При этом БД отклонит любую попытку ввода в это поле, значение которое уже имеет место в другой строке.
Пример 1. Создать таблицу SCOP с полями STRECH (строка),PLOT (строка),SNAM(строка),задав первые два поля с ограничениями NOT NULL, первое и третье с ограничением UNIQUE.
CREATE TABLE SCOP
(STRECH CHAR (20) NOT NULL UNIQUE,
PLOT CHAR (20)NOT NULL,
SNAM CHAR (20) UNIQUE);
Подя, значение которое требует уникальности , но не является первичными ключами называются ключами- кандидатами или уникальными ключами.
В SQL можно определить группу полей как уникальную, задав ограничениеUNIQUE,на таблицу.
Пример 2.В таблице ГЫЗ определить поля SNUM и PNUM уникальными.