- •Межрегиональный открытый социальный институт
- •Содержание
- •Примечание! 108
- •2. Цели и задачи дисциплины, ее место в учебном процессе
- •1.1. Цели и задачи дисциплины
- •1.2. Место дисциплины в учебном процессе
- •1.3. Итоговый контроль знаний по курсу
- •3. Содержание дисциплины
- •План занятий
- •3. Содержание дисциплины
- •План занятий
- •Наименование и краткое содержание лекций
- •Тема 2. Администрация базы данных.
- •Тема 3. Взаимодействие компонентов системы Баз данных.
- •Тема 4. Классификация субд.
- •Тема 5. Модели данных.
- •Тема 6. Уровни моделирования предметной области.
- •Тема 7. Концептуальное проектирование баз данных
- •Тема 9. Требования к распределенным базам данных
- •Тема 10. Транзакции.
- •Конспект лекций
- •Тема 2. Администрация базы данных
- •Тема 3. Взаимодействие компонентов системы баз данных
- •Тема 4. Классификация субд
- •Тема 5. Модели данных
- •5.1. Основные понятия реляционной модели данных
- •5.2. Целостность реляционных данных
- •5.3. Операции над отношениями
- •5.4. Нормализация баз данных
- •Тема 6. Уровни моделирования предметной области
- •Тема 7. Концептуальное проектирование баз данных
- •7.1.Даталогическое проектирование
- •7.2. Физические модели
- •Тема 8. Case-средства разработки баз данных
- •8.1. Пример нотации er-модели – метод idef1x
- •Тема 9. Требования к распределенным базам данных
- •9.1. Базовые архитектуры распределенной обработки
- •Сервер бд
- •Тема 10. Транзакции
- •Тема 11. Проблема сжатия больших информационных массивов.
- •Тема 11. Фракталы и Фрактальные методы архивации
- •2. Математические основы фрактального сжатия
- •3. Типовая схема фрактального сжатия
- •Методические рекомендации для выполнения лабораторных работ
- •Создание таблицы в режиме таблицы и определение свойств для полей таблицы
- •Импорт таблиц. Работа с мастером подстановок
- •Создание связей между таблицами
- •Ввод и просмотр данных в режиме таблицы
- •Заполните таблицу Продажи товаров, рис. 5.11
- •Создание формы базы данных с помощью мастера
- •Работа с конструктором форм. Элементы управления
- •Создание подчиненной формы
- •Оформление формы
- •Создание простого запроса на выборку
- •Задание нескольких условий отбора в запросе
- •Создание вычисляемого поля в запросе
- •Групповые расчеты в запросе
- •Создание запроса на удаление
- •Создание запроса на обновление
- •Создание запроса на создание таблицы
- •Создание отчета базы данных с помощью мастера
- •Просмотр и печать отчета
- •Создание макроса
- •Тестовая база
- •Ответы:
- •Глоссарий
Тема 10. Транзакции
Транзакция– это законченная совокупность действий над БД, которая переводит ее из одного целостного состояния в другое. Если операторы транзакции выполняются, происходит ее нормальное завершение и БД переходит в обновленное (целостное) состояние (ситуация COMMIT на рис. 42). При сбое происходит откат к исходному состоянию БД (ситуация ROLLBACK на рис. 42).
Рисунок 41. Выполнение и откат транзакции
К транзакциям предъявляется набор требований, известный под названием ACID (Atomicity, Consistency, Isolation, Durability).
Атомарность(atomicity). Транзакция представляет собой набор законченных действий. Система обеспечивает их выполнение по принципу «все или ничего» – либо выполняются все действия, тогда транзакция фиксируется, либо (при сбое) транзакция откатывается назад, а БД остается в исходном состоянии.
Согласованность(consistency). Предполагается, что в результате выполнения транзакции система переходит из одного корректного состояния в другое.
Изолированность(isolation). При выполнении транзакции данные могут временно находиться в несогласованном состоянии. Такие данные не должны быть видны другим транзакциям до завершения изменений. Система обеспечивает каждой транзакции иллюзию изолированного выполнения, как если бы прочие транзакции либо завершились, либо начнут выполняться после ее завершения.
Долговечность(durability). Если транзакция зафиксирована, то ее результаты должны быть долговечными. Новые состояния всех объектов сохранятся даже в случае аппаратных или системных сбоев.
Рассмотрим две модели транзакций, используемые в большинстве коммерческих СУБД: модель автоматического выполнения транзакций и модель управляемого выполнения транзакций, основанные на инструкциях языка SQL – COMMIT и ROLLBACK.
Автоматическое выполнение транзакций.Модель создана на основе схемы, принятой в СУБД DB2. Транзакция автоматически начинается с выполнения пользователем или программой первой инструкции. Далее происходит последовательное выполнение инструкций, пока транзакция не завершится (рис. 43).
Транзакция заканчивается одним из двух способов:
инструкцией COMMIT, которая выполняет завершение транзакции (внесенные в БД изменения становятся постоянными, а новая транзакция начинается сразу после инструкции COMMIT);
инструкцией ROLLBACK, которая отменяет выполнение текущей транзакции (БД возвращается к состоянию начала транзакции, новая транзакция начинается сразу после инструкции ROLLBACK).
Рисунок 42. Модель автоматического выполнения транзакций
Управляемое выполнение транзакций.Модель используется в СУБД Sybase, где применяется диалект Transact-SQL, в котором для обработки транзакций служат четыре инструкции (рис. 44):
инструкция BEGIN TRANSACTION сообщает о начале транзакции (начало транзакции задается явно);
инструкция COMMIT TRANSACTION сообщает об успешном выполнении транзакции (при этом новая транзакция автоматически не начинается);
инструкция SAVE TRANSACTION позволяет создать внутри транзакции точку сохранения и присвоить сохраненному состоянию имя точки сохранения, указанное в инструкции;
инструкция ROLLBACK отменяет выполнение текущей транзакции и возвращает БД к состоянию, где была выполнена инструкция SAVE TRANSACTION (если в инструкции указана точка сохранения – ROLLBACK TO имя_точки_сохранения) или к состоянию начала транзакции.