🖥 Транзакции и их роль в обеспечении целостности данных



Транзакции — это не просто набор операций с базой данных. Это фундаментальная концепция, которая помогает обеспечить целостность данных и правильное выполнение всех изменений. Давайте разберем основные моменты:



1. Что такое транзакция?

Это последовательность операций, выполняемых как одно логическое целое.



Эти операции либо завершаются успешно и сохраняются, либо полностью откатываются в случае сбоя, чтобы сохранить состояние системы в целостности.

BEGIN TRANSACTION;

UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;

UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

COMMIT; -- изменения сохраняются, если все операции выполнены успешно




2. Управление транзакциями — Для контроля транзакций используются команды BEGIN, COMMIT и ROLLBACK. COMMIT фиксирует изменения, если все операции прошли успешно, а ROLLBACK отменяет изменения, если возникает ошибка.

ROLLBACK; -- отменяет все изменения в текущей транзакции




3. Уровни изоляции: — контролируют, как одна транзакция видит данные, измененные другой. Это помогает регулировать баланс между согласованностью данных и производительностью.



Пример установки уровня изоляции:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; -- строгий уровень изоляции




➡️ SQL Ready | #техсобес