Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Определение триггера в стандарте языка SQL






Триггер – это откомпилированная SQL-процедура, исполнение которой обусловлено наступлением определенных событий внутри базы данных.

Триггеры – особый инструмент SQL-сервера, используемый для поддержания целостности данных.

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

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

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

С помощью триггеров достигаются следующие цели:

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

Недостатки использования триггеров:

  • сложность: при перемещении некоторых функций в базу данных усложняются задачи ее проектирования, реализации и администрирования;
  • скрытая функциональность: перенос части функций в базу данных и сохранение их в виде одного или нескольких триггеров может привести к скрытию от пользователя некоторых функциональных возможностей. (Хотя это в определенной степени упрощает его работу, но может стать причиной незапланированных, потенциально нежелательных побочных эффектов, поскольку в этом случае пользователь не в состоянии контролировать все процессы, происходящие в базе данных);
  • влияние на производительность: перед выполнением каждой команды по изменению состояния базы данных СУБД должна проверить триггерное условие с целью выяснения необходимости запуска триггера для этой команды. (Выполнение подобных вычислений сказывается на общей производительности СУБД, а в моменты пиковой нагрузки ее снижение может стать особенно заметным. Очевидно, что при возрастании количества триггеров увеличиваются и накладные расходы, связанные с такими операциями.).

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.