5° Anno TEORIA 5. Architettura di un DBMS | Page 4
17. Architettura di un DBMS Vers.2.0 – Maggio 2020
Gli stati di avanzamento (nel tempo) di una transazione possono essere riassunti grazie al seguente
diagramma degli stati:
la prima azione
T. ATTIVATA T. IN ESECUZIONE
Errori o eventi
imprevisti
Eseguita
l’ultima azione
T. FALLITA
Errori o eventi
imprevisti
T. PARZIALMENTE
COMPLETATA
Comando
ROLLBACK
Comando
COMMIT
T. ABORTITA T. COMPLEATATA
CON SUCCESSO
Dopo essere stata attivata (“started”), una transazione si trova in stato di esecuzione nel quale
vengono eseguite le azioni elementari di cui è composta.
Quando viene eseguita l’ultima azione elementare la transazione si dice parzialmente completata.
Se invece prima dell’esecuzione dell'ultima azione si verifica qualche errore o qualche evento
imprevisto la transazione si dice fallita (”failed”).
Quando una transazione è parzialmente completata non è detto che diventi completata con
successo (“committed”) poiché potrebbero intervenire imprevisti durante la fase di scrittura
definitiva su disco.
Quando si verifica un fallimento vengono intraprese opportune azioni dette di rotolamento
all’indietro (“rollback”) per arrivare allo stato finale nel quale la transazione si definisce abortita
(“aborted”) annullando tutti gli effetti parziali prodotti dalle azioni elementari.
Prima di dichiarare il completo successo di una transazione occorre che il sistema abbia avuto il
tempo di registrare una serie di informazioni sul giornale delle modifiche o database log file o più
semplicemente file di log.
Nel file di log si registrano eventi riguardanti la transazione del tipo:
- è stata attivata la transazione
- è stata completata la transazione
- è fallita la transazione
ma anche:
- è stata inserita la riga la
- è stata cancellata la riga la >
- è stata modificata la riga la con
Autore: Rio Chierego (email: [email protected] - sito web: www.riochierego.it) Pag. 4