Триггер что это в информатике это

Триггер что это в информатике это

Тема: Логические основы компьютера.

Логика – наука о законах и формах мышления.

Высказывание (суждение) – некоторое предложение, которое может быть истинно (верно) или ложно.

Утверждение – суждение, которое требуется доказать или опровергнуть.

Рассуждение – цепочка высказываний или утверждений, определенным образом связанных друг с другом.

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

Логическое выражение – запись или устное утверждение, в которое, наряду с постоянными, обязательно входят переменные величины (объекты). В зависимости от значений этих переменных логическое выражение может принимать одно из двух возможных значений: ИСТИНА (логическая 1) или ЛОЖЬ (логический 0).

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

2. Логические элементы компьютера. Схемы логических элементов и их таблицы истинности.

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

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

Электронный элемент, реализующий логическую функцию, называется логическим элементом.

Логический элемент компьютера – это часть электронной логической схемы, которая реализует элементарную логическую функцию.

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

Логическими элементами компьютеров являются электронные схемы И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ и др. (называемые также вентилями), а также триггер, регистр, сумматор.

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

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

Сумматор – это устройство, предназначенное для суммирования двоичных кодов.

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

Чтобы представить два логических состояния «1» и «0» в вентилях, соответствующие им входные и выходные сигналы имеют один из двух установленных уровней напряжения. Например, +5 вольт и 0 вольт.

Высокий уровень обычно соответствует значению «истина» («1»), а низкий – значение «ложь («0»).

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

Работу логических элементов описывают с помощью таблиц истинности.

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

Источник

Логические триггеры: схемы, классификация, устройство, назначение, применение

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике этоЛогические триггеры что это?

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

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

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

Классификация триггеров

Асинхронный триггер

Асинхронный триггер — изменяет свое состояние непосредственно в момент появления соответствующего информационного сигнала.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Синхронные триггеры

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

Динамические триггеры воспринимают информационные сигналы при изменении (перепаде) сигнала на входе C от 0 к 1 (прямой динамический С-вход) или от 1 к 0 (инверсный динамический С-вход).

Статические триггеры

Статические триггеры в свою очередь подразделяют на одноступенчатые (однотактные) и двухступенчатые (двухтактные). В одноступенчатом триггере имеется одна ступень запоминания информации, а в двухступенчатом — две такие ступени. Вначале информация записывается в первую ступень, а затем переписывается во вторую и появляется на выходе. Двухступенчатый триггер обозначают через ТТ.

Различие триггеров по функциональным возможностям

Обозначение входов триггеров

Входы триггеров обычно обозначают следующим образом:

S — вход для установки в состояние «1»;

R — вход для установки в состояние «0»;

J — вход для установки в состояние «1» в универсальном триггере;

К — вход для установки в состояние «0» в универсальном триггере;

Т — счетный (общий) вход;

D — вход для установки в состояние «1» или в состояние «0»;

V — дополнительный управляющий вход для разрешения приема информации (иногда используют букву Е вместо V).

Рассмотрим некоторые типы триггеров и их реализацию на логических элементах.

Асинхронный RS-триггер

Обратимся к асинхронному RS-триггеру, имеющему условное графическое обозначение, приведенное на рис. 3.54.


Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Триггер имеет два информационных входа: S (от англ. set) и R (от англ. reset).

Закон функционирования триггеров удобно описывать таблицей переходов, которую иногда также называют таблицей истинности (рис. 3.55). Через S’, R’, Q’ обозначены соответствующие логические сигналы, имеющие место в некоторый момент времени t, а через Q t + 1 — выходной сигнал в следующий момент времени t+1.

Комбинацию входных сигналов S’ = l, R’ =1 часто называют запрещенной, так как после нее триггер оказывается в состоянии (1 или 0), предсказать которое заранее невозможно. Подобных ситуаций нужно избегать. Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Рассматриваемый триггер может быть реализован на двух элементах ИЛИ-НЕ (рис. 3.56). Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Необходимо убедиться, что эта схема функционирует в полном соответствии с приведенной выше таблицей переходов.

Микросхема К564ТР2 содержит 4 асинхронных RS-триггера и один управляющий вход (рис. 3.57). Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

В асинхронном RS-триггере на элементах И-НЕ переключение производится логическим «0», подаваемым на вход R или S, т. е. реализуется обратная рассмотренной ранее таблица переходов (рис. 3.58). Запрещенная комбинация соответствует логическим «0» на обоих входах. Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Синхронный RS-триггер

Рассмотрим синхронный RS-триггер (рис. 3.59).

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Если на входе С — логический «0», то и на выходе верхнего входного элемента «И-НЕ», и на выходе нижнего будет логическая «1». А это, как отмечалось выше, обеспечивает хранение информации.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Если же на вход синхронизации С подана логическая единица, то схема реагирует на входные сигналы точно так же, как и рассмотренная ранее (рис. 3.56).

Триггер типа MS

Рассмотрим принцип построения двухступенчатого триггера, который называют также триггером типа MS (от англ. master, slave, что переводят обычно как «ведущий» и «ведомый»). Его упрощенная структурная схема приведена на рис. 3.60. В схеме имеются два одноступенчатых триггера (ведущий М и ведомый S) и два электронных ключа (Кл1 и Кл2). Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это
Временная диаграмма сигнала синхронизации, поясняющая работу триггера, приведена на рис. 3.61. Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это
Рассмотрим ряд временных интервалов указанной диаграммы:

t Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

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

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Для прямого динамического С-входа используют обозначения, приведенные на рис. 3.63, а, а для инверсного динамического С-входа, используют обозначения, приведенные на рис. 3.63, б.

D-триггер

Рассмотрим D-триггер (от англ. delay), повторяющий на своем выходе состояние входа. Рассуждая чисто теоретически, D-триггер можно образовать из любых RS- или JK-триггеров, если на их входы одновременно подавать взаимно инверсные сигналы (рис. 3.64). Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Условное графическое обозначение D-триггера приведено на рис. 3.65. Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Т-триггер

Рассмотрим Т-триггер, который изменяет свое логическое состояние на противоположное по каждому активному сигналу на информационном входе Т. Условное графическое обозначение двухступенчатого Т-триггера приведено на рис. 3.66. Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Источник

Виды триггеров и особенности их работы

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

Определение

Что такое триггер? Триггером называют электронное устройство, обладающее способностью довольно долгое время находиться в 1-ом из 2-х стабильных состояний, а так же чередовать их из-за воздействия какого-то внешнего сигнала. Триггер — это по сути простая электроника, от которой зависит работоспособность более сложных систем

Он способен хранить двоичную информацию (ноль или один) после того, как перестанут действовать входные импульсы. Основное назначение устройства, это переключение из одного состояния в другое. Хранит триггер в своей памяти 1 бит информации, которые и определяют его текущее состояние: логический «0» или логическая «1».

Какие входы есть у триггера? Любой триггер может иметь несколько входов, которые бывают:

Работа устройства строится на 2 элементах «И-НЕ», 2 «ИЛИ-НЕ» и других, некоторые разновидности триггеров работают на логических элементах КМОП, ТТЛ, ЭСЛ. Принцип работы любого триггера зависит от количества входов/выходов, а также от типа самого устройства.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

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

Разновидности

Для того чтобы разобраться как работает триггер, необходимо понять к какому классу и типу он относится. Существуют 2 основных класса этих устройств:

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

Асинхронные

Асинхронные RS-триггер имеет 2 основных входа «R» и «S». Также предусматриваются выходы «Q» и «Q−». Устройство RS триггера позволяет выполнять следующую последовательность:

Асинхронный RS-триггер условно работает следующим образом:

Схема RS-триггера асинхронного типа самая простая. Она работает без синхронизации с дополнительным входом. Используется RS компонент в простых элементах или как дополнение для более сложных триггеров.

Далее будет представлена УГО, таблица истинности и общая схема такого триггера.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Синхронные

Немного более сложное устройство. Работают с дополнительной синхронизацией сигналов. Эти RS-триггеры также имеют входы «R» и «S», а также выходы «Q» и «Q–». Отличие заключается в наличие синхронизирующего входа «С». Этот контакт нужен для синхронизации входящих сигналов. Называют этот вход «clock» или тактовый. Триггер имеет следующий принцип работы:

Синхронизация используется для снижения части помех. Часто RS-триггеры этого типа используют для цепей с параллельным подключением, значительно снижая помехи от элементов с высокой магнитной индуктивностью.

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

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

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

D-триггер

Эти виды простых триггеров так же используют для хранения информации о своем текущем состоянии один бит памяти. Используют его в простых электронных схемах вычислительных устройств и автоматики. Данная модель также относится к синхронному типу и имеет вход «С». Главное отличие заключается в замене 2 входов «R-S» на один контакт «D». Применение всего одного входа и наличие синхронизации позволяет значительно упростить работу устройства. Для работы D-триггера используется следующая схема:

Иными словами, состояние триггера на выходе зависит от его предыдущего положения. Если предыдущее положение было в состоянии высокого напряжения, то на этот выход поступит логическая 1. Если положение было в состоянии сброса, то логический 0.

Практически все D-триггеры являются динамическими. При динамическом управлении состоянием триггера используется понятие фронта. Фронтом называют переход от 1 к 0. Подразумевается 2 вида фронта:

Существуют разновидности D устройств с дополнительным входом V. Название этого входа расшифровывается как проверочный. Работает такой элемент с неким замедлением. Оно необходимо для предварительной синхронизации сигнала, с его последующим подтверждением. При этом не играет особой роли, сколько памяти занято в устройстве. Обычные и DV-триггеры предназначены для работы в сложных устройствах с множеством ячеек. Например, в электронных счетчиках эти устройства отвечают его за актуальное значение. При его смене состояние триггера изменяет свой фронт.

Далее приведена таблица истинности и УГО фронтов.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Т-триггер

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

Асинхронные

При получении положительного сигнала на вход, на выходе получается напряжение в 2 раза выше входного. Такой эффект возможен только при импульсном сигнале, поступающем на T вход. При этом частота поступления по временной шкале не имеет препятствий, а значит сигнал доходит гораздо быстрее. Асинхронные T устройства в состоянии логической 1 на выходе имеют противофазу инверсного выхода.

Синхронные

Эти T-триггеры подобны асинхронным. Исключение состоит в наличие тактового сигнала на входе. Также существует противофаза на инверсном выходе и появление удвоенного напряжения.

Устройство T элементов можно легко отнести к делителям импульсных сигналов. Эти элементы работают только при наличии переднего фронта. Иными словами, осуществляется переход от 0 к 1. Но разница заключается в учете временного интервала между импульсами.

Триггеры типа T часто используются в логических вычислительных процессах. Осуществляется это за счет функции увеличения или снижения напряжения:

При учете, сколько памяти необходимо для перехода и деления сигнала, элемент может быть дополнен входом подтверждения. Программирование с использованием T-триггера допускает использование устройства в различных электронных счетчиках без встроенной памяти. Далее дана диаграмма работы устройства.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

JK-триггер

Является самым универсальным электронным элементом. В этих устройствах присутствуют:

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

В зависимости от назначения, в данном триггере может использоваться так называемый фронт (передний или задний). В этом случае устройство считается синхронным, а его состояние определяется актуальным положением логических чисел. При расчете рабочего состояния элемента также учитывается возможность одновременного использования устройства в качестве T или D триггера. В этом случае учитывается параметр временного интервала поступления сигнала, какое напряжение будет получено при выходе и устойчивость состояния элемента. Информатика часто использует этот элемент в качестве универсального устройства контроля состояния устойчивой работы простых логических функций. Далее дана диаграмма работы устройства.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Симметричный

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

Принцип работы следующий:

При смене положения транзисторов создается перепад напряжения, и оно значительно снижается.

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

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

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

Триггер что это в информатике это. Смотреть фото Триггер что это в информатике это. Смотреть картинку Триггер что это в информатике это. Картинка про Триггер что это в информатике это. Фото Триггер что это в информатике это

Основным недостатком симметричных элементов является полная зависимость от времени поступления импульсного сигнала и его длительности. Если длительность недостаточная, импульс не успеет открыть транзистор, а значит не произойдет закрытие второго транзистора.

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

Заключение

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

Видео по теме

Источник

Триггер (базы данных)

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

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

Момент запуска триггера определяется с помощью ключевых слов BEFORE (триггер запускается до выполнения связанного с ним события; например, до добавления записи) или AFTER (после события). В случае, если триггер вызывается до события, он может внести изменения в модифицируемую событием запись (конечно, при условии, что событие — не удаление записи). Некоторые СУБД накладывают ограничения на операторы, которые могут быть использованы в триггере (например, может быть запрещено вносить изменения в таблицу, на которой «висит» триггер, и т. п.)

Кроме того, триггеры могут быть привязаны не к таблице, а к представлению (VIEW). В этом случае с их помощью реализуется механизм «обновляемого представления». В этом случае ключевые слова BEFORE и AFTER влияют лишь на последовательность вызова триггеров, так как собственно событие (удаление, вставка или обновление) не происходит.

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

Содержание

SQL синтаксис определения триггеров

Полный синтаксис выглядит так:

Естественно, в языке имеется и конструкция, отменяющая определение триггера:
DROP TRIGGER trigger_name. (Конструкция ALTER TRIGGER в языке SQL не поддерживается.)

Синтаксические правила допускают несколько разновидностей определения триггера. Кратко обсудим эти разновидности.

Триггеры BEFORE и AFTER

Триггеры INSERT, UPDATE и DELETE

Заметим, что в стандарте SQL:1999 отсутствует возможность определения триггеров, для которых событием было бы выполнение операции выборки из предметной таблицы. Разработчики стандарта сочли, что область применения триггеров такого рода чересчур узка (трудно придумать какое-либо применение, кроме как для журнализации и аудита).

Триггеры ROW и STATEMENT

Раздел WHEN

Тело триггера

Простой синтаксис создания триггера

Примеры

В этом случае для отличия табличных триггеров от строчных вводится дополнительные ключевые слова при описании строчных триггеров. В Oracle это словосочетание FOR EACH ROW.

Подробнее о триггерах

История появления триггеров

Термин триггер в контексте реляционных баз данных был введен в обиход участниками проекта System R. В терминологии этого проекта триггером называлась хранимая в базе данных процедура, автоматически вызываемая СУБД при возникновении соответствующих условий. При определении триггера указывались два условия его применимости – общее условие (имя отношения и тип операции манипулирования данными) и конкретное условие (логическое выражение, построенное по правилам, близким к правилам ограничений целостности), а также действие, которое должно быть выполнено над БД при наличии условий применимости.

Конечно, термин триггер в данном контексте является жаргонным. Но, с другой стороны, он достаточно точно соответствует ситуации: для применения процедуры должны быть произведены «возбуждающие» ее действия. Как отмечалось в лекции 15, после завершения проекта System R на протяжении более десяти лет триггеры не поддерживались ни в одной коммерческой SQL-ориентированной СУБД. Но затем практически во всех ведущих СУБД механизм триггеров в том или ином виде был реализован.

В стандарте же языка SQL спецификации триггеров отсутствовали до принятия стандарта SQL:1999. По словам главного редактора стандартов SQL/92 и SQL:1999 Джима Мелтона, эта спецификация была уже полностью готова к моменту принятия SQL/92 и не вошла в текст стандарта только по причине ограниченности его объема. Однако, как мне кажется, этому препятствовали и расхождения в подходах, существовавшие между основными компаниями-производителями СУБД.

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

Понятие триггера в SQL:1999

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

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

На практике при определении триггеров в качестве SQL_procedure_statement чаще всего используются операторы SQL обновления базы данных. Иногда (и мы покажем это на примере) для корректного определения функциональности триггера одного оператора не хватает, а в SQL отсутствует возможность определения составных операторов. Поэтому допускается использование средств определения составных операторов, присутствующих в SQL/PSM ( BEGIN ATOMIC и END ).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *