logo
ГОСЫ_ИТОГ_2

2. Понятие бизнес-логики. Хранимые процедуры, триггеры, представления.

Бизнес-логика — в разработке информационных систем — совокупность правил, принципов, зависимостей поведения объектов предметной области (области человеческой деятельности, которую система поддерживает). Иначе можно сказать, что бизнес-логика — это реализация правил и ограничений автоматизируемых операций. Является синонимом термина «логика предметной области» (англ. domain logic).

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

Представления.

Практически все СУБД поддерживают механизм представлений. Представление – это виртуальная таблица, предоставляющая данные из одной или нескольких реальных таблиц базы данных. Представление не содержит никаких данных, а только описывает их источник; фактически представление – хранимый запрос.

Преимущества представлений:

Хранимые процедуры

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

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

Рис.1 Вызов хранимой процедуры клиентским приложением

Кроме процедур, используемых в клиентских приложениях, СУБД имеет системные хранимые процедуры; они могут использоваться для выполнения следующих задач:

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

Триггеры

Триггер - специальный тип хранимой процедуры, которая вызывается в том случае, когда данные в определенной таблице добавляются, удаляются или изменяются с помощью соответствующих операторов SQL (рис.2).

Рис.2 Автоматический вызов триггера

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

Триггер всегда выполняет некоторое действие и никогда не возвращает пользователю данные.