Connect.gt

Condividiamo idee e conoscenza dal 2003...
...dopo 17 anni una Nuova Storia è nata
Scopri di più

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.


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


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


  • Questa pagina è stata modificata per l'ultima volta il 8 nov 2009 alle 18:33.
  • Questa pagina è stata letta 4 954 volte.