Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

В контекста на 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; — тогава промените ще бъдат отменени.