185
Лабораторная работа №9. Триггеры
Цель работы: Ознакомиться с триггерами в ERWin.
Теоретические сведения
Триггеры - это процедуры базы данных, которая автоматически вы-
зывается SQL сервером при возникновении определенных событий (до-
бавление, удаление, обновление записей). Триггеры хранятся на сервере
для того, чтобы быстро производить выполнение запросов, валидацию
данных и выполнять другие, часто вызываемые функции. Если эти коман-
ды сохраняются на сервере, то нужно создавать код только один раз, а не в
каждом приложении, работающем с базой данных. Это экономит время
при написании программ. Поскольку коды хранятся на сервере, то их не
требуется пересылать по сети из клиентского приложения, что значительно
снижает сетевой трафик. При сохранении кодов на сервере
гарантируется
целостность данных и правила (Business Rules) поддерживаются единым
образом, независимо от того, какое клиентское приложение обращается к
данным.
Триггером называется именованный набор прекомпилированных ко-
манд SQL, хранящийся на сервере, который автоматически выполняется,
когда происходит заданное событие. Например, триггер может выполнять-
ся при вставке, изменении или удалении строки в существующей таблице.
Триггер сообщает СУБД, как нужно выполнять команды SQL INSERT,
UPDATE или DELETE, чтобы выполнялись нормальные правила (Business
Rules) организации.
Триггер ссылочной целостности – особый вид триггера, используе-
мый для поддержания целостности между двумя таблицами, которые свя-
заны между собой. Если строка в одной таблице вставляется, изменяется
или удаляется, то триггер ссылочной целостности (RI-триггер
) сообщает
СУБД, что нужно делать с теми строками в других таблицах, у которых
значение внешнего ключа совпадает со значением первичного ключа
вставленной (измененной, удаленной) строки.
Если СУБД поддерживает RI-триггеры, то команда DELETE языка
SQL может быть обработана одним из следующих способов:
• Правило ссылочной целостности, запрещающее вставку, изменение
или удаление
строки, называется RESTRICT.
• Правило ссылочной целостности, передающее изменение от одной
таблицы к другой, называется CASCADE.
• Правило ссылочной целостности, изменяющее текущее значение
данных на нулевое, называется SET NULL.
• ERwin предоставляет альтернативный способ усиления ссылочной
целостности в случае СУБД ″Fox Pro″.
Примечание: ERwin располагает шестью RI-триггерами, устанавли-
ваемыми по
умолчанию, которые можно связывать с сущностями, чтобы