NOT NULL определяет, что столбец не может быть пустым.
NULL показывает, что столбец может быть пустым.
Если эти ограничения опущены, то по умолчанию столбец может быть пустым.
Пример.
Следующий оператор изменяет таблицу EMP и определяет и разрешает ограничение NOT NULL для столбца SAL:
ALTER TABLE emp
MODIFY (sal NUMBER CONSTRAINT nn_sal NOT NULL)
NN_SAL показывает, что все служащие в таблице имеют зарплату.
Это ограничение определяет, что столбец является уникальным в данной таблице, т.е. нет двух строк в таблице имеющих одинаковые значения для этого столбца.
Уникальный столбец не может быть типа LONG или LONG RAW.
Пример.
Следующий пример создаёт таблицу DEPT и определяет и разрешает уникальный ключ на столбец DNAME:
CREATE TABLE dept
(deptno NUMBER(2),
dname VARCHAR2(9) CONSTRAINT unq_dname UNIQUE,
loc VARCHAR2(10) )
Ограничение UNQ_DNAME определяет столбец DNAME как уникальный ключ.
Можно определить этот ключ другим способом через используя синтаксис ограничения таблицы:
CREATE TABLE dept
(deptno NUMBER(2),
dname VARCHAR2(9),
loc VARCHAR2(10),
CONSTRAINT unq_dname
UNIQUE (dname)
USING INDEX PCTFREE 20
TABLESPACE user_x
STORAGE (INITIAL 8K NEXT 6K) )
Здесь также используется опция USING INDEX для задания памяти для индекса.
Композиция уникальных ключей делает уникальным комбинацию значений нескольких столбцов. Композиционный уникальный ключ может содержать до 16 столбцов. Для задания композиции ключей необходимо использовать синтаксис ограничений на всю таблицу.
Пример.
Пусть имеется таблица DSS, содержащая 2 столбца d1 и d2 целого типа. Создание уникальной композиции этих двух столбцов реализуется следующим оператором:
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.