Вопрос проверяет понимание жизненного цикла транзакции в базах данных, что необходимо для обеспечения целостности данных при конкурентном доступе.
Транзакция в базе данных — это логическая единица работы, которая переводит данные из одного согласованного состояния в другое. Она гарантирует атомарность, согласованность, изоляцию и долговечность (ACID).
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
-- Если ошибок нет:
COMMIT;
-- Если ошибка:
ROLLBACK;В этом примере перевод денег между счетами выполняется как единая транзакция. Если один из UPDATE завершится ошибкой, ROLLBACK отменит оба изменения, предотвращая потерю средств.
Понимание этапов транзакции критично для разработки надежных систем, особенно при работе с финансовыми операциями или любыми данными, где важна консистентность. Используйте транзакции везде, где требуется атомарность изменений.
Уровень
Рейтинг:
5
Сложность:
4
Навыки
Postgres
SQL
Ключевые слова
Подпишись на Python Developer в телеграм