SQLLab
ТранзакцииСредний

ACID

Четыре свойства надёжных транзакций: Atomicity, Consistency, Isolation, Durability.

Синтаксис
BEGIN; ... COMMIT;  -- ACID гарантируется

Объяснение

ACID — фундаментальные гарантии реляционных СУБД: Atomicity (Атомарность): транзакция — неделимая единица. Либо все операции выполнены, либо ни одна. Consistency (Согласованность): транзакция переводит базу из одного корректного состояния в другое. Нарушение constraints → откат. Isolation (Изолированность): параллельные транзакции не видят незакоммиченных изменений друг друга. Durability (Долговечность): после COMMIT данные сохранены даже при сбое (за счёт WAL).

Пример

-- Пример нарушения без транзакции:
-- Списали деньги с одного счёта, сервер упал — деньги пропали.
-- С транзакцией:
BEGIN;
  UPDATE acc SET balance = balance - 500 WHERE id = 1;
  UPDATE acc SET balance = balance + 500 WHERE id = 2;
COMMIT;  -- оба UPDATE применятся, или ни один