Роль триггеров как одного из способов поддержания базы данных в адекватном и актуальном состоянии предметной области | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №35 (325) август 2020 г.

Дата публикации: 31.08.2020

Статья просмотрена: 93 раза

Библиографическое описание:

Абсатаров, Р. Н. Роль триггеров как одного из способов поддержания базы данных в адекватном и актуальном состоянии предметной области / Р. Н. Абсатаров. — Текст : непосредственный // Молодой ученый. — 2020. — № 35 (325). — С. 11-12. — URL: https://moluch.ru/archive/325/73393/ (дата обращения: 18.12.2024).



В данной статье рассматривается механизм использования триггеров для поддержания целостности базы данных.

Ключевые слова: триггер, база данных, событие.

Триггер в MySQL — это особый вид хранимой процедуры, которая выполняется автоматически при вставке, удалении или модификации записи таблицы или представления (view).

Идея, лежащая в основе триггеров, очень проста. SQL дает возможность нам вставлять, удалять и модифицировать данные в таблицах базы данных при помощи соответствующих команд — INSERT, DELETE и UPDATE. Для того, чтобы выполнять какие-либо действия, связанные с изменением данных в базе данных, существуют триггеры. Фактически триггер представляет собой набор команд процедурного языка, который исполняется при выполнении операций INSERT/DELETE/UPDATE [1].

Триггеры используются для поддержания базы данных в адекватном и актуальном состоянии предметной области. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Все производимые им модификации данных рассматриваются как выполняемые в транзакции, в которой выполнено действие, вызвавшее срабатывание триггера [2]. Соответственно, в случае обнаружения ошибки или нарушения целостности данных может произойти откат этой транзакции.

К примеру, необходимо вести журнал вносимых в базу данных изменений. Вместо написания двух отдельных запросов (первый для внесения изменений в основную базу данных, второй для обновления данных журнала), достаточно использовать триггер, содержащий правило: “при обновлении данных в данной таблице вносить записи в журнал изменений”. Подобный подход хотя и создает некоторую избыточность в выполняемом запросе, однако это позволяет сократить объем передаваемых данных, что в целом способствует повышению производительности [3].

Триггеры могут «срабатывать» непосредственно до или сразу же после указанного события.

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

Преимущество триггеров, в отличие от транзакции с несколькими запросами, — перенос целостность данных с уровня логики на уровень данных, где она и должна находиться [4]. Также применение триггеров дает некоторый прирост производительности, порядка 1.5 раз, который значительно увеличивается, в случае низкой скорости передачи данных между клиентом и сервером.

Применение триггеров дает возможность отслеживания соответствия вводимых данных доменам атрибутов изменяемых записей базы данных [5]. Например, для проверки адекватности вводимого возраста сотрудника (добавление новой записи, изменение существующей), достаточно создать триггер, который при изменении записей таблицы будет проверять поле возраст на соответствие домену: “ Возраст сотрудника не менее 18 и не более 65”

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

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

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

– Создание сообщений, уведомляющих о необходимости выполнения некоторых действий при обновлении таблицы, реализованном определенным образом;

– Сохранение статистической информации путем фиксации внесенных изменений лиц, которые их выполнили, и времени совершения операции;

– Поддержка репликации.

Преимущества использования триггеров:

– Минимизация сетевого трафика

– Сокращение используемых ресурсов

– Отсутствие необходимости передачи промежуточных результатов приложению

– Сохранение целостности данных

– Автоматический запуск триггеров

Особенности использования триггеров:

– Триггеры удаляются при удалении таблицы, к которой они привязаны

– Триггер запускается для каждой записи в таблице. Если запрос затрагивает, к примеру, 5 записей, то триггер будет запущен ровно 5 раз

– Для создания триггера, необходимо иметь привилегии SUPER

– Триггер может вызывать сохраненную процедуру

Литература:

  1. С. Д. Кузнецов. Основы баз данных. — М.: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007. — 488 с.
  2. В.Дунаев. Базы данных. Язык SQL для студента. — СПб.: БХВ-Петербург, 2012. — 320 с.
  3. С. Д. Кузнецов. Базы данных. — М.: Академия, 2012. — 496 с.
  4. Э. В. Фуфаев, Д. Э. Фуфаев. Разработка и эксплуатация удаленных баз данных. — М.: Академия, 2012. — 256 с.
  5. О. Л. Голицына, Т. Л. Партыка, И. И. Попов. Основы проектирования баз данных. — М.: Форум, 2012. — 416 с.
Основные термины (генерируются автоматически): Триггер, DELETE, INSERT, UPDATE, баз данных, AFTER, BEFORE, SQL, SUPER, актуальное состояние.


Ключевые слова

база данных, событие, триггер

Похожие статьи

Хранимые процедуры как один из способов повышения производительности информационной системы

В данной статье рассматривается влияние механизма хранимых процедур на производительность информационной системы при работе с базами данных.

SIEM-системы управления событиями

В работе представлен анализ систем SIEM на рынке и анализ необходимости этой системы в настоящее время.

Многоагентные управления ресурсами в распределенных системах

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

Взгляд на проблему контроля качества данных в современном мире

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

Разработка подсистемы распределенных вычислений для экосистемы научных исследований

В данной статье предметом исследования является проектирования микросервисной архитектуры в подсистемы распределенных вычислений. Эта архитектура представляет собой ключевой компонент, обеспечивающий эффективное выполнение вычислительных задач в расп...

Методы оценки рисков нарушения целостности информации в сетях передачи данных

В статье проводится анализ методов защиты от нарушения целостности информации в сетях передачи данных. На основе анализа случайных и преднамеренных угроз рассмотрены имитационная модель для исследования методов контроля целостности информации.

Методы управления уровнем инновационности экономических систем

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

Защита информации в информационных системах

В данной статье рассматриваются особенности политики защиты информации в информационных системах и построения систем защиты информации.

Динамика события как неотъемлемая часть моделирования события в новостном дискурсе

Цель данного исследования − выявить и проанализировать способы динамической представленности события, которые являются дискурсивными механизмами моделирования события в рамках новостного дискурса. В качестве материала исследования привлекаются британ...

Стратегический анализ внутренней среды организации

В статье рассматривается анализ внутренней среды организации с помощью метода SNW как способ влияния на формирование стратегии, а также формулируются рекомендации по повышению эффективности управления процессами выбора внешних ресурсов на основе анал...

Похожие статьи

Хранимые процедуры как один из способов повышения производительности информационной системы

В данной статье рассматривается влияние механизма хранимых процедур на производительность информационной системы при работе с базами данных.

SIEM-системы управления событиями

В работе представлен анализ систем SIEM на рынке и анализ необходимости этой системы в настоящее время.

Многоагентные управления ресурсами в распределенных системах

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

Взгляд на проблему контроля качества данных в современном мире

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

Разработка подсистемы распределенных вычислений для экосистемы научных исследований

В данной статье предметом исследования является проектирования микросервисной архитектуры в подсистемы распределенных вычислений. Эта архитектура представляет собой ключевой компонент, обеспечивающий эффективное выполнение вычислительных задач в расп...

Методы оценки рисков нарушения целостности информации в сетях передачи данных

В статье проводится анализ методов защиты от нарушения целостности информации в сетях передачи данных. На основе анализа случайных и преднамеренных угроз рассмотрены имитационная модель для исследования методов контроля целостности информации.

Методы управления уровнем инновационности экономических систем

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

Защита информации в информационных системах

В данной статье рассматриваются особенности политики защиты информации в информационных системах и построения систем защиты информации.

Динамика события как неотъемлемая часть моделирования события в новостном дискурсе

Цель данного исследования − выявить и проанализировать способы динамической представленности события, которые являются дискурсивными механизмами моделирования события в рамках новостного дискурса. В качестве материала исследования привлекаются британ...

Стратегический анализ внутренней среды организации

В статье рассматривается анализ внутренней среды организации с помощью метода SNW как способ влияния на формирование стратегии, а также формулируются рекомендации по повышению эффективности управления процессами выбора внешних ресурсов на основе анал...

Задать вопрос