Что такое транзакция ?
Спросят с вероятностью 10%
Транзакция в базах данных представляет собой логическую операцию, состоящую из одного или нескольких SQL запросов, которые образуют единое целое. Основные характеристики транзакций в базах данных:
1️⃣ Атомарность (Atomicity): Транзакция является атомарной, что означает, что она либо полностью выполняется, либо не выполняется вообще. Если один из запросов в транзакции не может быть выполнен, то все изменения, сделанные этой транзакцией, отменяются (откат).
2️⃣ Согласованность (Consistency): Транзакция должна обеспечивать согласованность базы данных. Это означает, что только допустимые изменения могут быть внесены в базу данных, и ее целостность сохраняется после завершения транзакции.
3️⃣ Изолированность (Isolation): Транзакции должны выполняться изолированно друг от друга. Это означает, что изменения, внесенные одной транзакцией, не должны видны другим транзакциям до тех пор, пока они не будут зафиксированы (или завершены).
4️⃣ Долговечность (Durability): После успешного завершения транзакции ее изменения должны остаться постоянными и устойчивыми к сбоям системы. Даже в случае отказа системы или перезагрузки, изменения, внесенные транзакцией, должны быть сохранены.
Пример:
В этом примере два запроса обновления выполняются в рамках одной транзакции. Если оба запроса успешно завершаются, изменения становятся постоянными (фиксируются) с помощью команды
➡️ Примеры ответов
➡️ Список всех вопросов на Python Developer
🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Спросят с вероятностью 10%
Транзакция в базах данных представляет собой логическую операцию, состоящую из одного или нескольких SQL запросов, которые образуют единое целое. Основные характеристики транзакций в базах данных:
1️⃣ Атомарность (Atomicity): Транзакция является атомарной, что означает, что она либо полностью выполняется, либо не выполняется вообще. Если один из запросов в транзакции не может быть выполнен, то все изменения, сделанные этой транзакцией, отменяются (откат).
2️⃣ Согласованность (Consistency): Транзакция должна обеспечивать согласованность базы данных. Это означает, что только допустимые изменения могут быть внесены в базу данных, и ее целостность сохраняется после завершения транзакции.
3️⃣ Изолированность (Isolation): Транзакции должны выполняться изолированно друг от друга. Это означает, что изменения, внесенные одной транзакцией, не должны видны другим транзакциям до тех пор, пока они не будут зафиксированы (или завершены).
4️⃣ Долговечность (Durability): После успешного завершения транзакции ее изменения должны остаться постоянными и устойчивыми к сбоям системы. Даже в случае отказа системы или перезагрузки, изменения, внесенные транзакцией, должны быть сохранены.
Пример:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 123;
UPDATE accounts SET balance = balance + 100 WHERE id = 456;
COMMIT;
В этом примере два запроса обновления выполняются в рамках одной транзакции. Если оба запроса успешно завершаются, изменения становятся постоянными (фиксируются) с помощью команды
COMMIT
. Если в ходе выполнения транзакции возникает ошибка, то она откатывается с помощью команды ROLLBACK
, и все изменения отменяются.➡️ Примеры ответов
➡️ Список всех вопросов на Python Developer