![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Под транзакцией будем понимать группу операций модификации разделяемой структуры данных, которая происходит атомарно (неделимо), не прерываясь никакими другими операциями с той же структурой данных. Т.о. можно сказать, что операции, относящиеся к одной транзакции, либо происходят все вместе, либо не происходят вообще.
Транзакция – это несколько последовательных операторов SQL, которые рассматриваются как единое целое. Операторы, входящие в транзакцию, выполняют взаимосвязанные действия: каждый оператор выполняет свою часть задачи, но задача будет выполнена успешно только в том случае, если все команды отработают корректно. Транзакции в реляционной базе данных должны подчиняться следующему правилу:
Операторы, входящие в транзакцию рассматриваются как неделимое целое. Либо все операторы должны быть выполнены успешно, либо не должен быть выполнен ни один оператор.
Транзакция, которая дала ожидаемый результат, называется принятой (committed), в противном случае – отвергнутой (rolled back). СУБД обновляет записи, если транзакция принята или восстанавливает исходные данные, если транзакция отвергнута.
Транзакция автоматически начинается с любой команды обработки данных. Далее происходит последовательное выполнение остальных операторов до тех пор, пока не произойдет одно из следующих событий:
§ Транзакция будет принята, если:
§ Пользователь введет команду SQL: COMMIT
§ Пользователь выполнит команду определения данных (DDL) или управления данными (DCL)
§ Успешно завершится приложение, выполняющее транзакцию (пользовательское, SQL и др.)
§ Транзакция будет отвергнута, если:
§ Пользователь введет команду ROLLBACK
§ Аварийно завершится приложение, выполняющее транзакцию
Дата публикования: 2015-10-09; Прочитано: 295 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!