Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Transazioni nei Database e Proprietà ACID

Garanzie di affidabilità, integrità e controllo concorrente nelle operazioni sui database relazionali.

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.

I Comandi di Gestione Transazionale:

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.

acid-engine@nexus-sys:~# Transaction Control Shell
> [READY] Seleziona un comando transazionale per testare le proprietà ACID.