Поддержание ограничений целостности

Оценить
(0 голоса)

Как было сказано, СУБД обрабатывают два типа ограничений целостности:

♦ декларативные ограничения целостности, определенные с помощью операторов create table и alter table;

♦ процедурные ограничения целостности (обрабатываемые триггерами).

Использование триггеров для поддержания ограничений целостности имеет одно значительное преимущество: триггеры являются более гибкими, чем декларативные ограничения, потому что каждое ограничение может быть реализовано при помощи триггеров. (То же утверждение не является верным для декларативных ограничений.)

В примере 14.3 показано, как вы можете поддерживать ссылочную целостность для таблиц employee и works_on.

Поддержание ограничений целостности

Поддержание ограничений целостности

 

Триггер workson_integrity в примере 14.3 проверяет ссылочную целостность для таблиц employee и works_on. Это означает, что проверяется каждое изменение значения в столбце emp_no таблицы workson, и любое нарушение этого ограничения отменяет операцию. (То же самое верно и для добавления нового значения в столбец emp_no.) Оператор rollback transaction во втором блоке begin отменяет оператор insert или update в случае нарушения ссылочного ограничения.

Триггер в примере 14.3 проверяет случай 1 и случай 2 для ссылочной целостности между таблицами employee и works_on (см. определение ссылочной целостности). В примере 14.4 создается триггер, который проверяет нарушение ссылочной целостности между теми же самыми таблицами в случае 3 и случае 4.

 

Поддержание ограничений целостности

 


Триггеры INSTEAD OF
Первый и последний триггеры
Триггеры DDL
Триггеры уровня базы данных
Триггеры уровня сервера

Добавить комментарий


Защитный код
Обновить

© 2018 www.serversql.ru. Все права защищены.