11 : Archivi e file Vers . 2.0 – Dicembre 2020
Supponiamo di voler ricercare il record con chiave K = 54 . Procediamo nel seguente modo : 1 ) Si accede all ’ indice di livello 1 e si cerca sequenzialmente la prima chiave maggiore o uguale a 54 . La chiave è 900 ; 2 ) Si accede all ’ indice 2 di livello 2 tramite il puntatore associato e si cerca la prima chiave maggiore o uguale a 54 . La chiave è 152 ; 3 ) Si accede all ’ indice 5 di livello 3 tramite il puntatore associato e si cerca la prima chiave maggiore o uguale a 54 . La chiave è 98 ; 4 ) Si accede al sottoarchivio 112 che fa parte dell ’ archivio primario tramite il puntatore associato e si cerca la chiave 54 utilizzando una ricerca sequenziale .
IL TRATTAMENTO DEGLI ARCHIVI NON SEQUENZIALI
L ’ organizzazione non sequenziale è una tecnica di organizzazione che consente di accedere ad un record senza dover attraversare tutti quelli che lo precedono , in quanto è possibile ricavare direttamente l ’ indirizzo di una registrazione tramite la chiave del record stesso .
Da ciò si deduce che : - l ’ organizzazione non sequenziale non necessita che i record siano memorizzati in maniera contigua all ’ interno del dispositivo di memoria ausiliaria : pertanto ogni record NON E ’ caratterizzato dalla presenza di un predecessore e di un successore ; - è necessario che un campo del record abbia il ruolo di chiave primaria in modo che sia possibile individuare univocamente il record al quale accedere , creando così una relazione tra il valore della chiave e l ’ indirizzo del record .
Su archivi non sequenziali sono consentite operazioni di lettura , scrittura , riscrittura , cancellazione e posizionamento . L ’ organizzazione non sequenziale viene implementata nei seguenti modi che si differenziano per il ruolo che la chiave primaria assume nell ’ archivio e per i passi da seguire per accedere ad un record . a ) organizzazione relative ; b ) organizzazione hash ; c ) organizzazione a B-alberi .
A ) L ’ ORGANIZZAZIONE RELATIVE Nell ’ organizzazione RELATIVE la chiave primaria di ogni record identifica univocamente sia il record stesso sia l ’ indirizzo logico in cui il record è registrato ..
Esempio : Un foglio di calendario è strutturato in modo che ad ogni giorno k corrisponda la k-esima riga dello stesso foglio . Quindi il giorno 5 si trova alla quinta riga , il giorno 28 in 2ventottesima riga .
Per determinare l ’ indirizzo del k-esimo record il sistema operativo moltiplica la dimensione del record per ( k-1 ) e successivamente somma tale valore a quello dell ’ indirizzo fisico del primo record registrato nell ’ archivio .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 23