I livelli di isolamento controllano quanto le transazioni concorrenti possono vedere dei cambiamenti non committati (o in corso) delle altre — facendo un compromesso tra consistenza e performance/concorrenza. Livelli di isolamento più elevati prevengono più anomalie ma aumentano il locking/contention.
Le anomalie di concorrenza (cosa previene l'isolamento)
DIRTY READ → reading another transaction's UNCOMMITTED changes (which may roll back)
NON-REPEATABLE READ → re-reading a row gives different values (another txn UPDATED it)
PHANTOM READ → re-running a query returns different ROWS (another txn INSERTED/DELETED)
