Junior — Middle
Czy możesz wyjaśnić, co oznacza transakcja w kontekście SQL i jak ona działa?
sobes.tech AI
Odpowiedź od AI
W kontekście SQL transakcja to sekwencja operacji na bazie danych, która jest wykonywana jako jedna całość. Transakcja gwarantuje, że wszystkie operacje w niej zawarte zostaną pomyślnie wykonane lub żadna z nich nie wpłynie na bazę danych (atomowość).
Główne właściwości transakcji (ACID):
- Atomowość: wszystkie operacje w transakcji są wykonywane w całości lub wcale.
- Spójność: po wykonaniu transakcji baza danych pozostaje w poprawnym stanie.
- Izolacja: równoległe transakcje nie wpływają na siebie nawzajem.
- Trwałość: po zatwierdzeniu transakcji zmiany są zachowywane nawet w przypadku awarii.
Przykład użycia transakcji w SQL:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
Jeśli wystąpi błąd, można wykonać ROLLBACK; — wtedy zmiany zostaną cofnięte.