Concetti Chiave
- Una transazione è un insieme di operazioni che devono essere eseguite in un'unica sequenza, garantendo la proprietà di atomicità.
- Se una transazione viene annullata, tutte le operazioni eseguite fino a quel momento vengono ripristinate, riportando il sistema allo stato iniziale.
- Esistono due tipi di transazioni: implicite, gestite automaticamente dal DBMS, e esplicite, definite dal programmatore tramite istruzioni specifiche.
- Nel linguaggio SQL, le transazioni esplicite si dichiarano con il comando BEGIN TRANSACTION, seguito dalle istruzioni associate.
- Le transazioni possono essere confermate con COMMIT TRANSACTION o annullate con ROLLBACK TRANSACTION in caso di errore.
Definizione di transazione
Una transazione e un insieme di operazioni che devono essere eseguite tutte come un unico blocco,dall'inizio alla fine una dopo l'altra (proprietà di atomincity di una transazione).Se a un certo istante la transazione è anche annullata,tutte le operazioni eseguite fino a quel momento vengono di conseguenza annullate per ripristinare la situazione iniziale.
Le transazioni possono esser classificate in transazioni implicite,create automaticamente dal DBMS in caso di aggiornamento dei dati mediante istruzioni del tipo INSERT,DELETE,UPDATE, e transazioni esplicite, dichiarate dal programmatore,che in fase di scrittura dell'interrogazione deve definire l'insieme di istruzioni che costituiranno la transazione.
Comandi SQL per le transazioni
Nel linguaggio SQL è possibile dichiarare una transazione esplicita attraverso il comando BEGIN TRANSACTION,seguito dell'insieme di istruzioni che vanno a costituire la transazione. Se la transazione è andata a buon fine,essa potrà essere chiusa e quindi le sue istruzioni confermate al DBMS attraverso il comando COMMIT TRANSACTION,mentre se per cause varie la transazione viene abortita,allora tutte le sue istruzioni dovranno essere annullate dal DBMS con il comando ROLLBACK TRANSACTION.
Domande da interrogazione
- Che cos'è una transazione e quali sono le sue proprietà principali?
- Quali sono le differenze tra transazioni implicite ed esplicite?
- Quali comandi SQL sono utilizzati per gestire le transazioni?
Una transazione è un insieme di operazioni che devono essere eseguite come un unico blocco, garantendo la proprietà di atomicità. Se la transazione viene annullata, tutte le operazioni eseguite fino a quel momento vengono annullate per ripristinare la situazione iniziale.
Le transazioni implicite sono create automaticamente dal DBMS durante operazioni di aggiornamento come INSERT, DELETE e UPDATE, mentre le transazioni esplicite sono dichiarate dal programmatore, che definisce l'insieme di istruzioni costitutive della transazione.
In SQL, una transazione esplicita è dichiarata con il comando BEGIN TRANSACTION. Se la transazione ha successo, si utilizza COMMIT TRANSACTION per confermare le istruzioni; in caso contrario, si usa ROLLBACK TRANSACTION per annullarle.