Управление транзакциями

Ведение системного журнала.

Ограничение обработки данных.

Может быть на уровне пользователя и на уровне данных.

Ограничение на уровне пользователя предполагает наделение пользователя совокупностью прав на обработку данных:

- Чтение

- Запись/модификация

- Удаление

- Передача прав другим пользователям (только администратор)

Ограничение прав на уровне данных предполагает определение для каждых данных множества операций, которые допустимо выполнять над данными:

- Данные только для чтения

- Те данные, которые можно изменять

- Те данные, которые можно удалять

Системный журнал - набор данных, в которых автоматически вводятся записи обо всех изменениях в базе данных.

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

Транзакция - набор операций над данными, выполняемый атомарно. На внешний носитель записываются только результаты завершенных транзакций.

BEGIN TRANSACTION начать транзакцию

READ A прочитать какие-то данные

A=A+1 совершить с данными какие-то операции

COMMIT зафиксировать результат транзакции

(ROLLBACK) (откат) необходимо отменить результат транзакции.

Каждая операции транзакции заносится в буфер системного журнала. При получении ROLLBACK начинается выполнение операций обратных тем, что были в транзакции. При получении COMMIT на внешнем носителе сохраняются результаты транзакции, а в системном журнале отмечается факт выполнения трнзакции.

Недостаток журнала- большие затраты памяти. Для сокращения затрат на буфер внутри транзакции организуются контрольные точки.

откат

 
 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: