Навіщо потрібні транзакції?
Транзакції потрібні, щоб гарантувати цілісність і надійність даних, особливо коли виконується кілька пов'язаних операцій.
Без транзакцій частина змін може зберегтися, а частина - ні, і дані опиняться в неузгодженому стані.
Основні завдання транзакцій
- Безпека змін - якщо одна операція з серії не вдалася,
усі попередні відкочуються (
ROLLBACK). - Цілісність даних - запобігають «наполовину виконаним» діям (наприклад, гроші списалися, але не зарахувалися).
- Ізоляція - паралельні користувачі не заважають одне одному, і кожен бачить лише завершені зміни.
- Контроль помилок - можна відловити збій і відновити дані до початку змін.
Приклад:
sql
BEGIN;
UPDATE accounts SET balance = balance - 500 WHERE id = 1;
UPDATE accounts SET balance = balance + 500 WHERE id = 2;
COMMIT;Якщо один рядок не оновиться - транзакція скасується, і баланс лишиться попереднім.
Підсумок: Транзакції потрібні, щоб база завжди лишалася в коректному стані, навіть якщо сталася помилка, збій чи кілька користувачів працюють одночасно.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.