Ti sei perso il VI Convegno gt? Forse puoi rimediare... www.convegnogt.it X Chiudi

Transazione (Informatica)

Da WikiGT di Giorgiotave.it


Per altri significati si veda la pagina di orientamento "Transazione".



In ambito informatico, il termine transazione indica un insieme di operazioni, di inquiry o di update, che devono essere effettuate in modo atomico, come se fossero una sola operazione.


Table of contents

Introduzione


La parola transazione è utilizzata solitamente in discussioni riguardanti databases e di altri ambienti transazionali quali il MainFrame.

Ogni transazione per essere considerata tale deve soddisfare i requisiti descritti e racchiusi nella sigla ACID.


ACID


Il termine ACID è la sigla utilizzata per descrivere le quattro proprietà, o caratteristiche, che ogni transazione deve soddisfare per essere considerata tale.


Proprietà



Le quattro proprietà fondamentali che ogni transazione deve soddisfare sono:

  • Atomicity: l' Atomicità specifica che ogni transazione è indivisibile nella sua esecuzione e che questa deve essere o totale o nulla, non sono ammesse esecuzioni parziali;
  • Consistency: la Coerenza indica che ogni transazione non deve violare eventuali vincoli di integrità dei dati elaborati, al termine dell'esecuzione lo stato del DB deve risultare essere 'coerente';
  • Isolation: l' Isolamento richiede che l'esecuzione di ogni transazione deve risultare essere isolata e indipendente da altre transazioni e, quindi, l'eventuale fallimento di una transazione non deve interferire con le altre transazioni in esecuzione;
  • Durability: la Durabilità, o Persistenza, specifica che dopo aver eseguito il comando commit i cambiamenti apportati ai dati non dovranno essere più persi.


Le Fasi di una Transazione


Per poter eseguire correttamente una transazione rispettando i vincoli ACID, in un tipico ambiente transazionale quale è MySQL 5 potrebbe essere necessario seguire le seguenti fasi:

  • Prima di eseguire una transazione, si esegue l'istruzione di "inizio transazione" tramite il comando START TRANSACTION;
  • Si eseguono le operazioni di interrogazione (istruzione SELECT) e modifica dei dati (istruzione UPDATE);
  • Al verificarsi di qualunque errore o anomalia, per abortire la transazione , bisogna eseguire l'istruzione detta di rollback tramite il comando ROLLBACK;
  • Se tutte le operazioni inserite nella transazione terminano l'esecuzione senza generare errori, si esegue l'istruzione di consolidamento dei dati tramite il comando COMMIT;


E' sempre auspicabile non dare per scontato il suddetto procedimento in quanto ogni Database può differenziarsi per la grammatica dei comandi da impartire e per meccanismi proprietari che possono prevedere configurazioni di auto-commit e di auto-rollback.


Fonti


  • MySQL 5.0 Reference Manual (http://dev.mysql.com/doc/refman/5.0/en/)
  • Wikipedia (http://it.wikipedia.org/wiki/Transazione_%28database%29)
  • IBM DB2 (http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/c0005021.htm)


Articolo a cura di mirkoagrati 15:20, Oct 21, 2009 (CEST)

Personal tools