Sobes.tech
Назад к вопросам
Senior
8

Что такое транзакции в БД? Какие свойства и команды?

Компании, где спрашивали
Т-БанкТ-Банк

Ответ от нейросети

sobes.tech AI

Транзакция в базе данных — это последовательность операций, которая выполняется как единое целое. Она либо полностью завершается успешно (commit), либо полностью откатывается (rollback), если произошла ошибка.

Основные свойства транзакций описываются аббревиатурой ACID:

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

Основные команды для работы с транзакциями в SQL:

  • BEGIN TRANSACTION или START TRANSACTION — начать транзакцию.
  • COMMIT — зафиксировать изменения.
  • ROLLBACK — отменить изменения, сделанные в транзакции.

Пример:

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

Если в процессе возникнет ошибка, можно выполнить ROLLBACK, чтобы отменить изменения.