I Semafori , ovvero la gestione della multiutenza
Chiariamo subito una cosa: già linguaggi come Clipper avevano
strumenti per gestire la multiutenza sui database, ma in quel caso ancora
era completamente demandato al programmatore il fatto di inserire
apposite istruzioni per gestire tale eventualità, mentre nei moderni motori
database chi gestisce la multiutenza e' il motore stesso (a meno che il
programmatore o il DataBase Administrator non vogliano fare giochini strani ed
in quel caso se ne prendono la responsabilità). ma come viene gestita questa
multiutenza? nella maniera più semplice del mondo: chi primo arriva meglio
alloggia. per spiegarsi un po' meglio la cosa funziona in questo modo:
Tutte le volte che noi accediamo ad un determinato record
possiamo accedervi in tre diverse modalità: in lettura, in scrittura o in lettura
E scrittura. la procedura di accesso ai record SA in che modo noi vogliamo
accedere (o perché ha una impostazione di default o perché noi stessi glielo
abbiamo detto) e provvede quindi ad imporre un 'limite' sul set di
record su cui stiamo lavorando che po' essere normalmente uno dei seguenti:
- record
libero in lettura e scrittura
- record in
sola lettura (divieto di modifica)
- record
bloccato sia in lettura che in scrittura
questo tipo di gestione (normalmente definito 'a
semafori' ) permette di evitare che due persone tentino contemporaneamente
di modificare lo stesso record, permettendo così di evitare i problemi che
nascono con la multiutenza