Sobes.tech
Junior — Middle

Можете ли објаснити шта подразумева транзакција у контексту SQL и како она функционише?

sobes.tech АИ

Одговор од АИ

У контексту SQL, трансакција је низ операција над базом података која се извршава као јединица. Трансакција гарантује да ће све операције у њој бити успешно извршене или ниједна од њих неће утицати на базу података (атомичност).

Главне особине трансакција (ACID):

  • Атомичност: све операције унутар трансакције се потпуно извршавају или уопште не.
  • Конзистентност: након извршења трансакције, база података остаје у исправном стању.
  • Изолација: паралелне трансакције не утичу једна на другу.
  • Трајност: након потврде трансакције, промене остају чак и у случају кварова.

Пример коришћења трансакције у SQL:

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;

Ако дође до грешке, може се извршити ROLLBACK; — тада ће промене бити отказане.