Skip to main content

Навіщо потрібні транзакції?

Транзакції потрібні, щоб гарантувати цілісність і надійність даних, особливо коли виконується кілька пов'язаних операцій.

Без транзакцій частина змін може зберегтися, а частина - ні, і дані опиняться в неузгодженому стані.

Основні завдання транзакцій

  1. Безпека змін - якщо одна операція з серії не вдалася, усі попередні відкочуються (ROLLBACK).
  2. Цілісність даних - запобігають «наполовину виконаним» діям (наприклад, гроші списалися, але не зарахувалися).
  3. Ізоляція - паралельні користувачі не заважають одне одному, і кожен бачить лише завершені зміни.
  4. Контроль помилок - можна відловити збій і відновити дані до початку змін.

Приклад:

sql
BEGIN; UPDATE accounts SET balance = balance - 500 WHERE id = 1; UPDATE accounts SET balance = balance + 500 WHERE id = 2; COMMIT;

Якщо один рядок не оновиться - транзакція скасується, і баланс лишиться попереднім.

Підсумок: Транзакції потрібні, щоб база завжди лишалася в коректному стані, навіть якщо сталася помилка, збій чи кілька користувачів працюють одночасно.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.