È una sequenza di operazioni (concretamente un processo) che costituiscono un’unica operazione logica che agisce sulla database.
Deve essere:
- isolata;
- lasciare risultati permanenti nella base di dati;
- non violare i vincoli;
- eseguita completamente (committed): se si interrompe bisogna annullare i suoi effetti e rieseguirla o non essere eseguita affatto (rolled back).
Per ripristinare un valore corretto sul DB bisogna disporre di un transaction log, che contiene i dettagli delle operazioni, valori precedenti e seguenti la modifica, e una dump (compia periodica del DB).