Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных_учпос_Любицкий Ю.В..doc
Скачиваний:
9
Добавлен:
20.04.2019
Размер:
618.5 Кб
Скачать

5. Восстановление баз данных

При работе с базой данных ее целостность может быть нарушена по ряду причин:

  1. в результате несогласованности или ошибочности действий, выполняемых при обработке данных СУБД, прикладными программами или пользователями;

  2. при аварийном завершении работы прикладной программы;

  3. в результате потери содержимого оперативной памяти компьютера (мягкий сбой), например, при отключении питания;

  4. при выходе из строя физического устройства внешней памяти, на котором хранится база данных (жесткий сбой).

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

5.1. Транзакции

Транзакцией называется последовательность элементарных операций, выполняемых над базой данных и переводящих базу данных из одного непротиворечивого состояния в другое. Транзакция – это логическая единица работы с базой данных [ 2 ].

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

При успешном завершении транзакции полученные результаты сохраняются во внешней памяти (фиксация транзакций).

Если во время выполнения транзакции (до ее завершения) произойдет сбой, база данных останется в несогласованном состоянии. Это является следствием того, что в промежуточных точках выполнения транзакции целостность базы данных нарушается (товар со склада уже отправлен, а в магазин он еще не поступил). Для восстановления базы данных (ее возвращения в исходное состояние), действия, уже выполненные такими транзакциями, отменяются (откат транзакций).

Транзакции должны обладать следующими свойствами:

  1. атомарности (Atomicity) – транзакция должна выполняться полностью или не выполняться совсем;

  2. согласованности (Consistency) – транзакция переводит базу данных из одного согласованного состояния в другое с возможным нарушением согласованности в промежуточных точках транзакции;

  3. изолированности (Isolation) – транзакции должны выполняться автономно друг от друга, при этом изменения, вносимые в базу данных некоторой транзакцией, до ее фиксации должны быть скрыты от других транзакций;

  4. долговечности (Durability) – после завершения и фиксации транзакции, все изменения, вызванные этой транзакцией в базе данных, сохраняются даже при возникновении сбоев в системе.

Транзакции, удовлетворяющие перечисленным требованиям, называют ACID-транзакциями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]