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