Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы к экзамену.docx
Скачиваний:
6
Добавлен:
02.01.2025
Размер:
521 Кб
Скачать
☆

2. Трёхзвенные архитектуры.

а). Архитектура с выделенным компонентом логики приложения.

Логика приложения рассматривается как отдельный компонент (отдельная программа) вне СУБД.

Этот компонент расположен на сервере БД (там же, где и СУБД).

б). Архитектура с сервером приложений.

Логика приложения рассматривается как отдельный компонент (отдельная программа) вне СУБД.

Этот компонент расположен на выделенном компьютере, который называется сервер приложений.

Понятие хранимой процедуры.

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

  • хранящиеся в БД на сервере,

  • реализующие сложные запросы и транзакции,

  • запускаемые на выполнение одной командой.

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

  • могут содержать не только SQL-запросы, но и переменные, операторы, реализующие логику ветвления, вызовы других хранимых процедур,

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

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

Достоинства хранимых процедур:

  • При вызове хранимой процедуры по сети посылается всего одна команда.

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

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

  • Хранимая процедура может быть использована как механизм секретности, дав возможность приложениям вызывать процедуру и запретив прямой доступ к данным в таблицах.

Понятие триггера.

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

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

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

Триггер всегда выполняется внутри неявной транзакции. BEGIN TRAN выполняется автоматически в начале триггера, а COMMIT – в конце триггера.

Ни один пользователь и ни одна другая процедура не увидят изменений до успешного завершения работы триггера.

ROLLBACK – единственный управляющий оператор транзакции, который не выполняется автоматически.

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

42