Sobes.tech
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.