Skip to main content

Що таке транзакція в SQL?

Транзакція в SQL - це набір операцій, які виконуються як єдине ціле: або всі успішно, або жодна не застосовується.

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

Приклад

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

Обидва перекази виконуються як одна операція. Якщо один із кроків не вдасться - усе відкотиться назад.

Основні команди

  • BEGIN / START TRANSACTION - початок транзакції;
  • COMMIT - зафіксувати зміни (зберегти);
  • ROLLBACK - скасувати зміни (відкотити).

Властивості транзакції (ACID)

  1. Atomicity (Атомарність) - усе або нічого;
  2. Consistency (Узгодженість) - дані лишаються коректними;
  3. Isolation (Ізоляція) - паралельні транзакції не заважають одна одній;
  4. Durability (Надійність) - після COMMIT дані зберігаються назавжди.

Підсумок: Транзакція - це гарантований спосіб виконати кілька SQL-операцій безпечно й послідовно, щоб база не опинилася в «наполовину оновленому» стані.

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

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

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