ALTER TABLE dss
ADD CONSTRAINT unq UNIQUE(d1,d2);
Ограничение UNQ показывает, что комбинация значений столбцов d1 и d2 является уникальной.
Это ограничение определяет столбец или группу столбцов как первичный ключ.
Для задания этого ограничения должно выполняться следующие условия:
* Первичный ключ должен быть только в одной строке таблицы;
* Ни один столбец, входящий в первичный ключ не должен содержать NULL.
Таблица может содержать только один первичный ключ. Первичный ключ не может быть типов LONG или LONG RAW. Нельзя обозначить один и тот же столбец как первичный ключ (PRIMARY KEY), так и уникальным (UNIQUE). Хотя можно определить один и тот же столбец или их группу как первичный ключ и как внешний ключ.
Пример.
Следующий оператор создаёт таблицу DEPT и определяет и разрешает первичный ключ на столбец DEPTNO:
CREATE TABLE dept
(deptno NUMBER(2) CONSTRAINT pk_dept PRIMARY KEY,
dname VARCHAR2(9),
loc VARCHAR2(10) )
Ограничение PK_DEPT определяет столбец DEPTNO как первичный ключ таблицы DEPTNO. Это ограничение показывает, что в таблице DEPT не существует двух одинаковых строк с одинаковыми значениями поля DEPTNO и эти поля не могут быть пустыми.
Эту же задачу можно выполнить через синтаксис табличного ограничения:
CREATE TABLE dept
(deptno NUMBER(2),
dname VARCHAR2(9),
loc VARCHAR2(10),
CONSTRAINT pk_dept PRIMARY KEY (deptno) )
Композиция первичных ключей делает первичными несколько столбцов. Композиционный первичный ключ может содержать до 16 столбцов. Для задания композиции ключей необходимо использовать синтаксис ограничений на всю таблицу.
Пример.
Следующий оператор определяет композиционный первичный ключ комбинации столбцов SHIP_NNO и CONTAINER_NO таблицы SHIP_CONT:
ALTER TABLE ship_cont
ADD PRIMARY KEY (ship_no, container_no) DISABLE
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.