Что такое транзакции в БД

«Что такое транзакции в БД» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Транзакция — это последовательность операций с базой данных, которая выполняется как единое целое. Она должна соответствовать принципам ACID:

  • Atomicity (Атомарность) — все операции транзакции выполняются или ни одна.
  • Consistency (Согласованность) — БД переходит из одного валидного состояния в другое.
  • Isolation (Изолированность) — параллельные транзакции не влияют друг на друга.
  • Durability (Долговечность) — после фиксации изменения сохраняются даже при сбоях.

Пример в SQL:

BEGIN TRANSACTION;
    UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
    UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT;
-- Если ошибка — ROLLBACK отменит изменения