- •Вопрос №2. Модель «клиент-сервер». Разделение приложения по функциям.
- •Вопрос №3. Двухзвенная архитектура. Файловая модель доступа к данным. Схема, достоинства, недостатки.
- •Вопрос №4. Двухзвенная архитектура. Модель удаленного доступа к данным. Схема, достоинства, недостатки.
- •Вопрос №5. Двухзвенная архитектура. Модель активного сервера. Схема, достоинства, недостатки.
- •Вопрос №6. Трехзвенная архитектура. Схема, достоинства, недостатки в сравнении с 2-х звенной.
- •Вопрос №7. Понятие тонкого и толстого клиента в технологии клиент-сервер.
- •Вопрос №8. Определение транзакции и роль транзакции в субд.
- •Вопрос №9. Начало и окончание транзакции.
- •Вопрос №10. Предложения sql, управляющие транзакциями. Commit work.
- •Вопрос №11.
- •Вопрос №12. Непротиворечивость и параллельная обработка. Блокировки.
Вопрос №10. Предложения sql, управляющие транзакциями. Commit work.
Для фиксации или отката транзакции используются предложения commit work, save Point, Rollback work.
Предложение commit фиксирует транзакцию
Предложение Rollback выполняет откат транзакции, т.е отменяет все изменения, выполненные данной транзакцией в БД
Предложение save Point выполняет промежуточную «текущую копию» состояния БД, для того чтобы в последствии при необходимости можно было вернуться в состояние БД в точке сохранения.
Предложение commit work.
Это предложение имеет следующий синтаксис: commit [work]
Оно обеспечивает выполнение следующих действий:
фиксируется транзакция
уничтожаются все точки сохранения
освобождаются объекты, заблокированные в процессе выполнения транзакции.
В процессе выполнения транзакции, в которой содержатся операторы изменения данных, происходит выполнение следующих действий:
сервер создает в собственной памяти специальные записи в сегментах отката
сервер выполняет формирование соответствующих записей в журнальный файл
производится изменение в буферах БД.
Когда транзакция явно или не явно завершается, то выполняется следующий набор операций:
транзакция помечается как зафиксированная
если записи из журнального файла еще не записаны в файл БД, то выполняется запись в долговременную память
заблокированные строки и таблицы освобождаются.
Вопрос №11.
Предложения SQL,управляющие транзакциями.save Point,Rollback work.
Для фиксации или отката транзакции используются предложения commit work, save Point, Rollback work.
Предложение commit фиксирует транзакцию
Предложение Rollback выполняет откат транзакции, т.е отменяет все изменения, выполненные данной транзакцией в БД
Предложение save Point выполняет промежуточную «текущую копию» состояния БД, для того чтобы в последствии при необходимости можно было вернуться в состояние БД в точке сохранения.
Использование предложения save Point
Точки сохранения используются для разделения длительной транзакции на более мелкие элементы. В большой транзакции, выполняющей значительные изменения в БД, целесообразно сохранять частичные изменения в определенных точках, чтобы при возникновении сбоя выполнять откат не к точке старта, а к последней успешно выполненной точке сохранения. Предложение save Point имеет следующий синтаксис: save Point <имя контрольной точки>.
Параметр «имя контрольной точки» задает идентификатор, который соответствует правилам именования объектов в БД. Если значение параметра «имя контрольной точки» совпадает с ранее использованным значением, информация о предыдущей точке сохранения теряется.
Предложение Rollback work
Это предложение имеет следующий синтаксис: Rollback [work] [to [save Point] <имя контрольной точки>].
Использование предложения Rollback work без фразы save Point приводит к выполнению следующих действий:
завершение выполнения транзакции
отмена всех изменений в текущей транзакции
очистке точек сохранения для текущей транзакции
отмене всех блокировок транзакции
Использование предложения Rollback work с фразой save Point приводит к выполнению следующих действий:
откату только части транзакций
фиксации данных, измененных до точки сохранения
освобождение всех блокировок строк, выполненных после создания последней точки сохранения.