Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
19 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
344.91 kB
Просмотров:
139
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Курс «Базы данных»
Тема. Транзакции. Часть 1
Барабанщиков
Игорь Витальевич
№2 слайд
Содержание слайда: План лекции
Определение транзакции.
Модели транзакций.
Команды управления транзакциями.
Журнал транзакций.
№3 слайд
Содержание слайда: Изменение БД
Изменения БД обусловлены событиями во внешнем мире (перевод денег со счета на счет).
При этом одно внешнее событие обычно приводит к нескольким изменениям в БД.
Чтобы не нарушить целостность БД надо все изменения выполнить как одно целое.
Поэтому изменения БД, вызванные одним событием, надо вносить по принципу «либо все, либо ничего».
SQL обеспечивает такое поведение с помощью механизма транзакций.
№4 слайд
Содержание слайда: Пример. Банковская транзакция
№5 слайд
Содержание слайда: Что такое транзакция?
Транзакция – это несколько последовательных инструкций SQL, которые вместе образуют логическую единицу работы.
Инструкции, входящие в транзакцию, обычно тесно связаны между собой и выполняют взаимосвязанные действия.
Каждая инструкция решает часть общей задачи, но для того, чтобы задачу можно было считать решенной, требуется выполнить все эти инструкции.
№6 слайд
Содержание слайда: Определение транзакции
Транзакция – это последовательность команд SQL, которые воспринимаются БД как одно целое.
Либо ВСЕ команды транзакции успешно выполнятся, либо действие ВСЕХ команд полностью отменяется.
Транзакция переводит БД из одного целостного состояния в другое.
№7 слайд
Содержание слайда: Команды управления транзакциями
Для управления транзакциями в языке SQL используются команды:
COMMIT – фиксирует в БД изменения, сделанные в транзакции. Изменения становятся постоянными.
ROLLBACK – отменяет изменения, сделанные в транзакции, возвращает прежние данные.
№8 слайд
Содержание слайда: Свойства транзакции
Любая транзакция должна обладать свойствами:
Атомарность (Atomicity) — все входящие в транзакцию операции выполняются нераздельно, т.е. будут выполнены либо все операции, либо не выполнено ни одной.
Согласованность (Consistency) — транзакция, фиксирующая результаты, должна сохранять согласованность данных в базе.
Изоляция (Isolation) — во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат. Другие процессы не должны видеть данные в промежуточном состоянии.
Долговечность (Durability) — как только транзакция зафиксирована, она остается постоянной. Никакое внешнее событие не должно привести к потере изменений.
№9 слайд
Содержание слайда: Модель транзакций ANSI/ISO (SQL3)
№10 слайд
Содержание слайда: Управление транзакциями в Oracle
В СУБД Oracle используется неявный режим транзакции.
Новая транзакция начинается первым оператором SQL, следующим сразу после COMMIT или ROLLBACK .
Команды управления транзакциями.
COMMIT
ROLLBACK
SAVEPOINT <имя точки сохранения>
ROLLBACK TO <имя точки сохранения>
SET TRANSACTION
№11 слайд
Содержание слайда: Журнал транзакций
Журнал транзакций — системная структура, хранящая информацию об изменениях базы данных.
Цель журнализации: обеспечение возможности восстановления согласованного состояния базы данных после любого сбоя.
Восстанавливается последнее по времени согласованное состояние базы данных.
№12 слайд
Содержание слайда: Структура журнала
Общая структура журнала — последовательный файл, в котором фиксируется каждое изменение БД, которое происходит в ходе выполнения транзакции.
Варианты ведения журнала транзакций:
Протокол с отложенными обновлениями
<T1, ID_RECORD, атрибут, новое_значение … >
Протокол с немедленными обновлениями
<Т1, ID_RECORD, атрибут, новое_значение, старое_значение ...>
№13 слайд
Содержание слайда: Журнал транзакций
№14 слайд
Содержание слайда: Как работает журнал
Когда пользователь выполняет SQL-команду на изменение базы данных, СУБД автоматически вносит в журнал транзакций одну запись для каждой строки, измененной в процессе выполнения команды.
Эта запись содержит две копии строки.
- копия данных строки до изменения,
- копия данных строки после изменения.
СУБД изменяет физическую строку только после того, как в журнале будет сделана соответствующая запись.
№15 слайд
Содержание слайда: Как работает журнал
Если пользователь выполняет инструкцию COMMIT, в журнале отмечается конец транзакции.
Если же пользователь выполняет инструкцию ROLLBACK, СУБД обращается к журналу и извлекает из него исходные копии строк, измененных во время транзакции.
Используя эти копии, СУБД возвращает строки в прежнее состояние и таким образом отменяет изменения, внесенные в базу данных в ходе транзакции.
№16 слайд
Содержание слайда: Обработка фиксации транзакции
№17 слайд
Содержание слайда: Восстановление БД
Журнал транзакций используется для восстановления БД. Возможны варианты:
Индивидуальный откат транзакции (Только для незавершившихся транзакций!)
Восстановление после внезапной потери содержимого оперативной памяти
(мягкий сбой)
Восстановление после поломки основного внешнего носителя базы данных
(жесткий сбой) (архивное восстановление)
№18 слайд
№19 слайд
Содержание слайда: Итоги
В различных СУБД механизм транзакций реализован по-разному.
Для наиболее эффективного использования конкретной СУБД необходимо понимать то, как в ней реализован механизм транзакций.
СУБД Oracle имеет эффективный механизм транзакций, который допускает одновременную работу большого числа пользователей.