W skomplikowanych systemach finansowych, bankowych lub e-commerce często jedna operacja biznesowa składa się z wielu mniejszych zapytań SQL. Przelew środków wymaga odjęcia pieniędzy z jednego konta i dodania ich na drugie. Co się stanie, jeśli po pierwszej operacji nastąpi awaria zasilania serwera lub przerwane zostanie połączenie sieciowe? Pieniądze po prostu znikną w próżni. Aby temu zapobiec, stosujemy transakcje.
Transakcja to logiczna jednostka pracy, która grupuje jedno lub więcej zapytań SQL w nierozłączną całość. Jeśli wszystkie zapytania wewnątrz transakcji wykonają się poprawnie, zmiany są trwale zapisywane w pamięci (operacja COMMIT). Jeśli chociaż jedno zapytanie napotka błąd, cała transakcja jest natychmiast wycofywana do stanu z samego początku (operacja ROLLBACK). Gwarantuje to absolutną spójność danych.
Profesjonalne relacyjne bazy danych (jak MySQL z silnikiem InnoDB, PostgreSQL czy Oracle) muszą spełniać cztery rygorystyczne reguły znane pod akronimem ACID: