Добавление ограничений на уровне таблицы

Для добавления ограничений на уровне таблицы используется предложение ADD CONSTRAINT <имя_ ограничения>.

В качестве примера рассмотрим команды добавления внешних ключей в таблицы базы данных «Сессия».

Добавление внешних ключей в таблицу «Учебный_план» (создание связи с именем FК_ Дисциплина и связи с именем FK_Кадровый_состав):

ALTER TABLE Учебный_план

ADD CONSTRAINT FK_Дисциплина

FOREIGN KEY (ID_ Дисциплина)

REFERENCES Дисциплины

ALTER TABLE Учебный_план

ADD CONSTRAINT FK_ кадровый_состав

FOREIGN KEY (ID_Преподаватель)

REFERENCES Кадровый_состав

 

Добавление внешних ключей в таблицу «Сводная_ведомость» (создание связи с именем FK_Студент и связи с именем FK_План):

 

ALTER TABLE Сводная_ведомость

ADD CONSTRAINT FK _Студент

FOREIGN KEY (ID_Студент)

REFERENCES Студенты

 

ALTER TABLE Сводная_ ведомость

ADD CONSTRAINT FK_ план

FOREIGN KEY (ID_ План)

REFERENCES Учебный_ план

 

С помощью конструкции ADD CONSTRAINTсоздается поименованное ограничение. Необходимо отметить, что удаление любого ограничения на уровне таблицы происходит только по его имени, поэтому ограничение должно быть поименовано (чтобы его можно было удалить).

 

Рассмотрим еще один пример — добавление значения по умолчанию для столбца Номер_ группы:,

ALTER TABLE Студент

ADD CONSTRAINT DEF_Номер_группы DEFAULT 1 FOR Номер_ группы

 

В результате выполнения этой команды на уровне таблицы будет создано ограничение целостности с именем DEF_Номер_группы.

 

Удаление ограничений

Для удаления из таблицы ограничения целостности используется предложение DROP CONSTRAINT<имя_ограничения>.

Удаление ограничения целостности возможно только в том случае, когда оно поименовано (т. е. предложение <определение_огpaничения> содержит именование ограничения CONSTRAINT).

Команда удаления построенного внешнего ключа РК Дисциплина из таблицы «Учебный_план» выглядит следующим образом:

 

ALTER TABLE учебный_ план

DROP CONSTRAINT FK_ Дисциплина

Удалить же построенное ограничение DEF_Номep_группы можно с помощью следующей команды:

 

ALTER TABLE Студент

DROP СОNSTRAINT DEF_Номер_ группы