Back to questions
Junior — Middle
61
Какое основное значение имеет понятие транзакции в системах управления базами данных?
Companies where asked
КубикТех
Answer from AI
sobes.tech AI
Транзакция в системах управления базами данных — это последовательность операций, которая выполняется как единое целое. Основное значение транзакции — обеспечить атомарность, согласованность, изолированность и долговечность (ACID):
- Атомарность: Все операции внутри транзакции либо выполняются полностью, либо не выполняются вовсе.
- Согласованность: Транзакция переводит базу данных из одного корректного состояния в другое.
- Изолированность: Параллельные транзакции не влияют друг на друга.
- Долговечность: После фиксации транзакции изменения сохраняются даже при сбоях.
Пример в Python с использованием библиотеки sqlite3:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
try:
conn.execute('BEGIN')
cursor.execute("INSERT INTO users (name) VALUES ('Alice')")
cursor.execute("INSERT INTO accounts (user, balance) VALUES ('Alice', 100)")
conn.commit() # Фиксируем транзакцию
except Exception:
conn.rollback() # Откатываем при ошибке