Sobes.tech
Junior

Miért használják az adatbázisokban a tranzakciókat?

sobes.tech MI

Válasz az MI-től

Az tranzakciók biztosítják az adatbázis műveletek atomaritását, konzisztenciáját, izolációját és tartósságát (ACID).

  • Atomaritás: Minden művelet egy tranzakcióban vagy teljes egészében végrehajtódik, vagy egyáltalán nem. Ha egy művelet sikertelen, akkor minden visszavonódik.
  • Konzisztencia: A tranzakció az adatbázist egy konzisztens állapotból egy másikba viszi. Megelőzi a korlátozások (pl. egyedi kulcsok) megsértését.
  • Izoláció: Minden tranzakció úgy fut, mintha az egyedüli lenne a rendszerben. A tranzakció által végzett változtatások nem láthatók mások számára a befejezéséig.
  • Tartósság: Sikeres tranzakció után a változtatások rögzítésre kerülnek, és még rendszerhiba esetén sem vesznek el.

A tranzakciók fontosak az adatok integritásának biztosításában, különösen akkor, ha több összefüggő műveletet kell végrehajtani, amelyeknek együtt vagy egyáltalán nem szabad megtörténniük. Példa erre a pénz átutalása egy megtakarítási számláról egy folyószámlára.

-- Tranzakció kezdete
START TRANSACTION;

-- Az első számláról levonás
UPDATE accounts SET balance = balance - 100 WHERE account_id = 1;

-- Ha az előző művelet sikeres, jóváírás a második számlán
UPDATE accounts SET balance = balance + 100 WHERE account_id = 2;

-- Ellenőrzés, hogy mindkét művelet sikeres volt-e és nem voltak hibák
-- IF hiba THEN
--   ROLLBACK; -- Minden változtatás visszavonása
-- ELSE
--   COMMIT; -- Minden változtatás jóváhagyása
-- END IF;

-- Feltételezve, hogy mindkét parancs sikeresen végrehajtódott, példaként
COMMIT; -- A tranzakció jóváhagyása
-- ROLLBACK; -- A tranzakció visszavonása hiba esetén