Junior
Zašto se transakcije koriste u bazama podataka?
sobes.tech АИ
Одговор од АИ
Transakcije osiguravaju atomarnost, konzistentnost, izolaciju i trajnost (ACID) operacija s bazom podataka.
- Atomarnost: Sve operacije u transakciji se izvršavaju u potpunosti ili uopšte. Ako jedna operacija ne uspe, sve se poništava.
- Konzistentnost: Transakcija dovodi bazu podataka iz jednog konzistentnog stanja u drugo. Sprečava se kršenje ograničenja (npr. jedinstveni ključevi).
- Izolacija: Svaka transakcija se izvršava kao da je jedina u sistemu. Promene koje jedna transakcija napravi nisu vidljive drugima do njenog završetka.
- Trajnost: Nakon uspešnog završetka transakcije, njene promene se čuvaju i ne gube ni u slučaju kvara sistema.
Transakcije su važne za očuvanje integriteta podataka, posebno kada se izvršava više povezanih operacija koje moraju biti izvršene zajedno ili uopšte. Primer je transfer novca sa štednog računa na tekući račun.
-- Početak transakcije
START TRANSACTION;
-- Oduzimanje sa prvog računa
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;
-- Ako je prethodna operacija uspešna, knjiženje na drugi račun
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;
-- Provera da li su obe operacije uspešno izvršene i bez grešaka
-- IF greška THEN
-- ROLLBACK; -- Povlačenje svih promena
-- ELSE
-- COMMIT; -- Potvrđivanje svih promena
-- END IF;
-- Pretpostavljamo da su obe komande uspešno izvršene, za primer
COMMIT; -- Potvrđivanje transakcije
-- ROLLBACK; -- Povlačenje transakcije u slučaju greške