русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-24; просмотров: 712; Нарушение авторских прав


Дается определение триггера, область его использования, место и роль триггера в обеспечении целостности данных. Описываются типы триггеров. Рассматриваются операторы создания, изменения, удаления триггера. Про­граммирование триггера иллюстрируется примерами создания триггеров для реализации ограничений целостности и сбора статистических данных.

Триггеры

Лекция 7

 

 

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

 

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

Триггер - это откомпилированная SQL-процедура, исполнение кото­рой обусловлено наступлением определенных событий внутри реляцион­ной базы данных. Применение триггеров большей частью весьма удобно для пользователей базы данных. И все же их использование часто связано с дополнительными затратами ресурсов на операции ввода/вывода. В том случае, когда тех же результатов (с гораздо меньшими непроизводительны­ми затратами ресурсов) можно добиться с помощью хранимых процедур или прикладных программ, применение триггеров нецелесообразно.

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



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

Создает триггер только владелец базы данных. Это ограничение поз­воляет избежать случайного изменения структуры таблиц, способов связи с ними других объектов и т.п.

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

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

 

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

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

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

• накопление аудиторской информации посредством фиксации сведе­ний о внесенных изменениях и тех лицах, которые их выполнили;

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

 

В качестве основных (сокращенных) форматов команды CREATE TRIGGER можно использовать следующие варианты:

 

CREATE TRIGGER<имя триггера>

ON <имя таблицы или просмотра>

[WITH ENCRYPTION ]

{{[FOR | AFTER] < [DELETE] [, ] [INSERT] [,] [UPDATE] >}

| INSTEAD OF}

[NOT FOR REPLICATION]



<== предыдущая лекция | следующая лекция ==>
 | Часть 2. Реализация триггеров в среде MS SQL Server


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.427 сек.