INF.03Bazy Danych
Transakcje i własności ACID
Zestaw operacji na bazie danych traktowany jako jedna niepodzielna jednostka pracy spełniająca reguły Atomicity, Consistency, Isolation, Durability.
Własności transakcji ACID:
- A (Atomicity / Niepodzielność) – transakcja wykonuje się całkowicie albo wcale. Błąd cofa wszystkie dotychczasowe zmiany (
ROLLBACK). - C (Consistency / Spójność) – po zakończeniu transakcji baza danych zachowuje wszystkie reguły integralności.
- I (Isolation / Izolacja) – równolegle wykonywane transakcje nie widzą swoich niezatwierdzonych zmian.
- D (Durability / Trwałość) – po zatwierdzeniu (
COMMIT) zmiany są trwale zapisane i odporne na awarie zasilania.
SQL
START TRANSACTION;
UPDATE konta SET saldo = saldo - 200 WHERE id = 1;
UPDATE konta SET saldo = saldo + 200 WHERE id = 2;
COMMIT; -- W razie błędu wywołujemy: ROLLBACK;Najczęstsze pułapki na egzaminie INF.03:
- Polecenie
ROLLBACKwycofuje wszystkie zmiany wprowadzone od momentu rozpoczęcia transakcji (START TRANSACTION). - Polecenie
COMMITna stałe zapisuje transakcję w bazie i nie można jej już potem cofnąć poleceniem ROLLBACK.
Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Transakcje i własności ACID lub rozpocznij trening.