Лекція 7. Транзакції

1. Визначення та властивості транзакції

Транзакція – це сукупність дій, які виконуються по відношенню до БД та розглядаються як єдине ціле. Транзакції – це одиниці активності або, інакше кажучи, послідовність дій, що виконуються за певним логічним порядком. Вони можуть виконуватися як вручну, так і автоматично за допомогою спеціальних програм. В реляційних БД транзакції здійснюються за допомогою, так званих, команд DML – INSERT, UPDATE, DELETE.

Транзакція може бути представлена як одним оператором DML, так і групою таких операторів.

Підсумовуючи вище зазначене, наголос необхідно зробити на таких речах.

  1. Кожна транзакція має свій початок і своє завершення.
  2. Будь-яку транзакцію можна або зберегти, або відмінити.
  3. Якщо у будь-якому місці виконання транзакції один з операторів не може бути виконаний, вся транзакція є неуспішною і не може бути збережена у БД.

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

Якщо певна транзакція успішно завершилась, відповідна таблиця не змінюється миттєво. Для успішно завершених транзакцій передбачені команді управління транзакціями, які дозволяють або зберегти в БД всі зміни, або відмінити їх. Після завершення транзакції відповідна інформація зберігається в спеціальній області бази даних. Всі відповідні зміни будуть зберігатися в цій області бази даних, доки для них не буде реалізована відповідна команда управління транзакцією. За результатами реалізації такої команди відповідні зміни або вносяться до БД, або відміняються, після чого область для тимчасового збереження даних звільняється.

Для фіксації нової транзакції використовується спеціальна команда (тільки в середовищі MS SQL SERVER).

Команда BEGIN TRAN. Призначення цього оператора – визначення початку чергової транзакції. Синтаксис цієї команди такий.

BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable
    [ WITH MARK [ 'description' ] ] ]

Фіксація транзакції, що створюється командою BEGIN TRAN, забезпечує реалізацію всіх змін, що визначаються операторами, які записані після цієї команди. Відміна транзакції, що створюється командою BEGIN TRAN, призведе до відміни усіх дій, і БД повертається у той стан, який вона мала до виконання цієї команди.

Команда COMMIT. Ця команда використовується для передачі у базу даних змін, які реалізуються транзакцією. Команда COMMIT зберігає всі транзакції, які виконані з моменту попередньої реалізації або команди COMMIT, або команди ROLLBACK. Для MS SQL SERVER команда COMMIT зберігає транзакцію, початок якої визначається командою BEGIN TRAN. З моменту виконання команди COMMIT транзакція, для якої має відношення ця команда, переходить у категорію тривких. Іншими словами, всі результати виконання транзакції стають постійними і зберігаються навіть після аварійного завершення роботи системи.

Синтаксис команди такий.

COMMIT [ WORK ]

або (для MS SQL SERVER)

COMMIT [ TRAN [ SACTION ] [ transaction_name | @tran_name_variable ] ].

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0