Какие знаешь свойства транзакции в БД

Python Senior Без компании
Какие знаешь свойства транзакции в БД
Ответы
Транзакции в БД обладают четырьмя ключевыми свойствами (ACID): - **Атомарность (Atomicity)** - транзакция выполняется полностью или не выполняется вообще. Если происходит ошибка, все изменения откатываются. - **Согласованность (Consistency)** - транзакция переводит БД из одного согласованного состояния в другое, не нарушая целостности данных. - **Изолированность (Isolation)** - параллельные транзакции не влияют друг на друга, как если бы они выполнялись последовательно. - **Долговечность (Durability)** - после успешного завершения (commit) изменения сохраняются даже при сбое системы. Пример в Python с SQLite: ``` import sqlite3 conn = sqlite3.connect('test.db') cursor = conn.cursor() try: conn.execute("BEGIN TRANSACTION") cursor.execute("UPDATE accounts SET balance = balance - 100 WHERE id = 1") cursor.execute("UPDATE accounts SET balance = balance + 100 WHERE id = 2") conn.commit() except: conn.rollback() print("Transaction failed") finally: conn.close() ```