Виды ограничений

Ограничения реализуют правила по обеспечению целостности данных на уровне столбца или таблицы, предотвращают удаление таблицы при наличии ссылок.

В Oracle существуют следующие виды ограничений:

- NOT NULL

- UNIQUE

- PRIMARY KEY

- FOREIGN KEY

- CHECK

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

Создание ограничений.

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

Определение ограничений.

Уровень ограничения Описание
Столбец Ссылается на единственный столбец и описывается в пределах характеристик соответствующего столбца. Позволяет задать правила целостности любого типа.
Таблица Ссылается на один или несколько столбцов и описывается независимо от определения столбцов в данной таблице. Позволяет задать любое ограничение, кроме Not Null.

Таким образом, ограничения можно создать на одном из двух уровней.

Синтаксис ограничения на уровне столбца

Имя_столбца [CONSTRAINT имя_ограничения тип_ограничения]

Синтаксис ограничения на уровне таблицы

Имя_столбца1, Имя_столбца2,… [CONSTRAINT имя_ограничения] тип_ограничения

Ограничение NOT NULL

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

Пример 1. Ограничение NOT NULL для столбца Phone без имени ограничения (Oracle создаст имя сам).

CREATE TABLE Friends

(Phone Varchar2(15) NOT NULL … );

Пример 2. Ограничение NOT NULL для столбца Phone с именем ограничения.

CREATE TABLE Friends

(Phone Varchar2(15)

CONSTRAINT Friends Phone NOT NULL …);

Ограничение UNIQUE.

Задает один или несколько столбцов, значение или комбинация значений в которых не могут повторяться в двух строках таблицы. Может быть задано как для таблицы, так и для столбца.

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

Ограничение PRIMARY KEY.

Синтаксис:

CREATE TABLE имя_ таблицы

(имя_столбца1 тип_данных тип_ограничения,…);

Пример3. Создание таблицы Friends c первичным ключом Phone:

CREATE TABLE Friends

(Kod integer NOT NULL PRIMARY KEY,…);


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: