ТРИГГЕРЫ И ПРОЦЕДУРЫ
ЛАБОРАТОРНАЯ РАБОТА 14
ТРИГГЕРЫ И ПРОЦЕДУРЫ
Цель работы
Написать необходимый набор триггеров и процедур, обеспечивающих задание процедурных ограничений целостности.
Содержание работы и методические указания
к ее выполнению
Механизм триггеров позволяет программировать обработку ситуаций, возникающих при любых изменениях в базе данных. Триггер придается таблице базы данных и применяется при выполнении над таблицей операций включения, удаления или обновления строк. Применение триггера заключается в проверке сформулированных в нем условий, при истинности которых выполняются SQL-операторы, определенные внутри триггера, либо происходит вызов специфицированной внутри триггера процедуры базы данных. Триггер хранится в базе данных наряду с таблицами, представлениями, хранимыми процедурами.
При определении триггера задаются:
Синтаксис оператора Create trigger (в нотации СУБД Informix) для создания триггера приведен в Приложении 2.
При выполнении триггера выполняется оператор модификации данных либо вызывается хранимая процедура, предварительно созданная и помещенная в базу данных оператором Create procedure. Хранимая процедура в отличие от триггеров может выполнять достаточно сложный набор действий:
Одним из базовых требований к проектируемой базе данных является требование ее логической независимости от приложений, которые с ней работают.
Все ограничения целостности должны задаваться не логикой работы приложения, а определяться на уровне базы данных. Ранее отмечалось, что по способам реализации ограничения целостности подразделяются на декларативные и процедурные, позволяющие задавать логически более сложные ограничения, в частности обеспечивать целостность по ссылкам. В этой связи важная цель механизма триггеров - обеспечение целостности базы данных и обеспечение логической независимости базы данных.
Последовательность выполнения лабораторной работы:
1. Ознакомиться со средствами разработки триггеров и хранимых процедур.
2. Разработать набор триггеров и хранимых процедур, обеспечивающих целостность разработанной базы данных по ссылкам.
3. Проверить правильность работы триггеров и процедур, разработанных в п. 2.
4. Разработать набор триггеров и хранимых процедур, обеспечивающих целостность разработанной базы данных исходя из требований предметной области.
5. Проверить правильность работы триггеров и процедур, разработанных в п. 4.
6. Разработать набор хранимых процедур, которые целесообразно разместить в базе данных исходя из логики работы с базой данных.
7. Проверить правильность работы процедур, разработанных в п. 6.
8. Оформить раздел отчета "Хранимые процедуры и триггеры", включив в него описание разработанных триггеров и хранимых процедур.
Контрольные вопросы