Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ORACLE 2004 года.doc
Скачиваний:
36
Добавлен:
03.05.2015
Размер:
466 Кб
Скачать
☆

Ограничение not null

Ограничение NOT NULL запрещает неопределенные значения в столбце. Столбцы, не связанные ограничением NOT NULL, могут содержать неопределенные значения по умолчанию. Это ограничение может быть задано только на уровне столбца, а не таблицы.

Ограничение unique

Ограничение UNIQUE определяет столбец или набор столбцов как некоторый уникальный ключ. В таблице не существует двух строк с одинаковым значением для этого ключа. Неопределенные значения возможны, если уникальный ключ основан на одном столбце. Ограничения UNIQUE могут быть использоваться как для столбца, так и для таблицы. Составной уникальный ключ создается с помощью определения на уровне таблицы. Для уникального ключа на уровне столбца автоматически создается уникальный индекс. Ограничение UNIQUE не аналогично ограничению PRIMARY KEY и не является его синонимом.

Ограничение primary key

Ограничение PRIMARY KEY создает первичный ключ таблицы. Ограничение PRIMARY KEY — это столбец или набор столбцов, однозначно идентифицирующий каждую строку в таблице. Это ограничение требует уникальности конкретного столбца или набора столбцов и гарантирует отсутствие в них неопределенных значений. Ограничения PRIMARY KEY могут быть заданы как для столбца, так и для таблицы.

Ограничение foreign key

Ограничение FOREIGN KEY, направленное на обеспечение целостности ссылок, задает столбец или набор столбцов в качестве внешнего ключа и устанавливает связь с первичным или уникальным ключом той же самой таблице или между таблицами. Значение внешнего ключа должно совпадать с существующим значением в родительской таблице или быть неопределенным (NULL). Ограничения FOREIGN KEY могут быть заданы как на уровне столбца, так и на уровне таблицы. Внешний ключ, являющийся частью первичного ключа, не может быть неопределенным значением, поскольку ни одна часть первичного ключа не может иметь значение NULL.

Внешний ключ описывается комбинацией следующих ключевых слов:

  • FOREIGN KEY задает столбец в дочерней таблице как ограничение на уровне таблицы.

  • REFERENCES указывает таблицу и столбец в родительской таблице.

  • ON DELETE CASCADE означает, что если удаляется строка в родительской таблице, зависимые строки в дочерней таблице также будут удалены, а если отсутствует, то, строка родительской таблицы не может быть удалена.

Ограничение check

Ограничение CHECK определяет условие, которому должна удовлетворять каждая строка. Это условие может содержать те же конструкции, что и в запросах за исключением следующих:

  • Ссылок на псевдостолбцы CURRVAL, NEXTVAL, LEVEL и ROWNUM

  • Обращений к функциям SYSDATE, UID, USER и USERENV

  • Запросов со ссылками на другие значения в других строках

Ограничение CHECK может быть задано как на уровне столбца, так и на уровне таблицы. Синтаксис этого ограничения применим к любому столбцу таблицы, а не только к тому, для которого задано данное ограничение.

Пример. Создание таблицы базы данных Film, Klient, Dogovor.

SQL> create table film SQL> create table Klient

2 (filmID NUMBER(2) 2 (KlientID number(2)

3 CONSTRAINT filmID_PK Primary key, 3 constraint KlientID_pk primary key,

4 namef varchar2(25) 4 FIO varchar2(25),

5 CONSTRAINT namef_NN not null, 5 phone varchar2(11));