Условия уникальности задаются в предложении UNIQUE инструкции CREATE TABLE. Ниже приведена модифицированная инструкция CREATE TABLE для таблицы ORDERS с включенным в нее условием уникальности для столбца ORDER_N:
create table orders (order_n integer not null,
ord_date date not null,
cust_n integer,
sale_n integer,
prod_n varchar2(10),
qty intrger,
amount integer,
unique (order_n),
primary key (order_n),
constraint placed_by foreign key (cust_n) references customers on delete cascade,
constraint taken_by foreign key (sale_n) references salesreps,
constraint is_for foreign key (prod_n) references products);
Ограничение CHECK (иногда называемое check condition) также задается в инструкции CREATE TABLE. Оно содержит условие на значения (идентично условию отбора в запросе на выборку), проверяемое всякий раз при попытке модификации содержимого таблицы (с помощью инструкций INSERT, UPDATE или DELETE). Если после модификации условие остается истинным, такое изменение допускается; в противном случае СУБД отвергает изменения и выдает сообщение об ошибке. Ниже приведена инструкция CREATE TABLE, создающая таблицу SALESREPS с простым ограничением на значения столбца AGE, позволяющим гарантировать, что возраст принимаемых на работу сотрудников не будет превышать тридцати пяти лет.
create table salesreps (sale_n integer not null,
name varchar2(15),
position varchar2(10),
sex char(1),
salary float(2),
age integer,
unique (sale_n),
primary key (sale_n),
check (age <= 35),
check (sex in (‘m’, ‘f’)),
check (salary <= 500.00));
Помимо ограничения на значения столбца AGE, приведенная выше инструкция содержит ограничения на значения также и для столбцов SEX и SALARY .