? In un sistema di gestione di database relazionali ( RDBMS ), ad esempio un database basato su SQL , " Blocchi" vengono utilizzati per impedire agli utenti di modificare gli stessi dati nello stesso momento . Se un certo insieme di dati è bloccato, non può essere manipolato da un utente diverso finché l' utente iniziale si toglie la serratura . Altre restrizioni possono essere applicate , come impedire ad altri utenti di leggere i dati fino a quando non si sblocca , e non ci sono eccezioni a questa regola generale di chiusura . Ci sono sei tipi di serrature in SQL . Blocchi condivisi ( S ) economici
un blocco condiviso in possesso di dati relativi a un singolo utente di leggere . Altri utenti non possono modificare i dati che si svolge sotto un blocco condiviso , ma sono in grado di leggere i dati. Una volta che i dati sono stati letti , il blocco viene generalmente ceduto , con alcune eccezioni come ad esempio se l'operazione viene eseguita utilizzando il READCOMMITTED o READCOMMITTEDLOCK livello di isolamento di blocco . Blocchi condivisi vengono utilizzati solo in operazioni di sola lettura e non possono essere utilizzati per modificare i dati .
Serrature esclusivo (X ) economici
Un blocco esclusivo è usato per prevenire una sezione di dati che vengono modificati da una transazione venga modificato da un'altra transazione . Per impostazione predefinita , i dati in un blocco esclusivo non può essere letto da chiunque tranne l'armadio , tuttavia questa impostazione può essere modificata tramite l'hint NOLOCK o un livello di isolamento READUNCOMMITTED . Questo tipo di serratura sarebbe stato utilizzato con operazioni come INSERT, UPDATE e DELETE .