Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Понятие транзакции. Неявные и явные транзакции. Уровни изолированности транзакций в MS SQL Server 2005 и ORACLE 10g. Понятие блокировок. Основные типы блокировок.

Понятие транзакции. Неявные и явные транзакции.

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

  • Неделимость (Atomicity). Транзакция либо выполняется полностью, либо не выполняется.
  • Согласованность (Consistency). Транзакция переводит базу данных из одного согласованного состояния в другое.
  • Изолированность (Isolation). Результаты транзакции становятся доступны для других транзакций только после ее фиксации.
  • Продолжительность (Durability). После фиксации транзакции изменения становятся постоянными.
    Все команды, выполняемые пользователями на сервере, производятся в теле транзакций. Однако существует два подхода к указанию границ транзакций в потоке команд - явные и неявные транзакции.
    Явные транзакции. По умолчанию, каждая команда выполняется как отдельная транзакция. Пользователь может объединить несколько команд в одну транзакцию, явно указав ее начало и конец.
    Неявные транзакции. Не существует оператора начала транзакции. Транзакция начинается с началом сеанса работы с БД. Завершается транзакция при следующих событиях:
  • Явно выполненный оператор завершения транзакции - rollback или commit
  • Оператор DDL
  • Завершение сеанса.
    После окончания транзакции сразу неявно начинается новая транзакция
  • Нет меток