1. Il Concetto di Transazione in SQL
Una transazione è una sequenza di una o più operazioni di manipolazione dei dati (inserimenti, modifiche, cancellazioni) eseguite come un'unità logica di lavoro indivisibile. Affinché una transazione abbia successo, tutte le singole operazioni devono essere completate correttamente; se anche una sola fallisce, l'intera transazione viene annullata.
1. BEGIN TRANSACTION: Inizia ufficialmente una nuova transazione.
2. COMMIT: Conferma in modo permanente tutte le modifiche apportate durante la
transazione.
3. ROLLBACK: Annulla tutte le modifiche ripristinando lo stato precedente del
database in caso di errore.
2. Le Proprietà ACID
Per garantire un livello elevato di affidabilità, specialmente in ambienti multi-utente o bancari, i DBMS relazionali devono rispettare quattro proprietà fondamentali note come acronimo ACID:
3. Tabella di Sintesi delle Proprietà ACID
Una panoramica rapida dei concetti chiave che definiscono l'affidabilità transazionale:
| Proprietà | Significato Operativo | Meccanismo di Controllo |
|---|---|---|
| Atomicità | Esecuzione integrale o annullamento totale. | Uso di registri di log e istruzioni ROLLBACK. |
| Coerenza | Rispetto rigoroso dei vincoli di integrità. | Verifica dei vincoli di chiave e di dominio del DBMS. |
| Isolamento | Indipendenza tra transazioni concorrenti. | Gestione dei livelli di blocco (Locking) e concorrenza. |
| Durabilità | Persistenza permanente dei dati confermati. | Scrittura su supporti di memoria non volatile (Write-Ahead Logging). |
4. Simulatore Interattivo: Flusso Transazionale ACID
Sperimenta l'esecuzione controllata di una transazione (es. un bonifico bancario o aggiornamento accademico) con verifica di COMMIT e ROLLBACK.