informatica |
Organizzazione non sequenziale = è una tecnica di organizzazione che consente di accedere a un record senza dover attraversare tutti quelli che lo precedono.
Infatti si deduce che:
L'organizzazione non sequenziale non ha bisogno che i record siano memorizzati in maniera contigua.
E' necessario che un campo del record abbia un ruolo di chiave primaria, in modo che sia possibile individuare univocamente il record al quale accedere.
Su archivi non sequenziali sono consentite le operazioni di: lettura, scrittura, riscrittura, cancellazione e posizionamento.
I passi da seguire per accedere ad un record nell'organizzazione non sequenziale sono:
organizzazione relative;
organizzazione hash;
organizzazione B-alberi.
Organizzazione relative = è quando la chiave primaria di un record identifica univocamente sia il record stesso sia l'indirizzo logico in cui il record e registrato.
I vantaggi dell'organizzazione relative, sono:
a ogni record corrisponde una chiave numerica che corrisponde alla posizione occupata dal record all'interno dell'archivio.
l'organizzazione relative può essere usata solo su supporti ausiliari ad accesso diretto.
in tale tipo di organizzazione è consentito l'accesso diretto che quello sequenziale, quindi può essere gestita indifferentemente come archivio sequenziale o come archivio non sequenziale.
inoltre risulta molto vantaggiosa per le per le operazioni interattive.
utilizzando puntatori in questo tipo di organizzazione, è possibile ottenere un ordine logico diverso da quello fisico.
infine l'organizzazione relative consente la possibilità di accedere ai record con una chiave alfanumerica.
I svantaggi dell'organizzazione relative, ricordiamo che, spesso è difficile riuscire a impostare una relazione univoca tra la chiave primaria e la posizione nella quale memorizzare il record. Questo inconveniente obbliga il programmatore a utilizzare chiavi legate strettamente alla posizione relativa del singolo record all'interno dell'archivio, oppure a utilizzare particolari metodi di randomizzazione.
Organizzazione Hash = è una tecnica che si basa sull'utilizzo di funzioni che, partendo dalla chiave primaria di ciascun record, trasformano quest'ultima in un numero intero, che rappresenta l'indirizzo logico, detto indirizzo Hash.
La funzione Hash
Scegliere una funzione ottimale Hash significa scegliere una funzione che:
Sia facilmente calcolabile, cioè compostala calcoli che siano i più semplici possibili;
Produca sempre lo stesso indirizzo a partire dalla stessa chiave;
Generi indirizzi uniformemente distribuiti nell'ambito dell'archivio;
Generi indirizzi casualmente distribuiti nell'ambito dell'archivio;
Cerchi di coprire l'intero intervallo degli indirizzi evitando , che ci siano indirizzi che non vengono mai generati;
Generi indirizzi diversi se le chiavi sono diverse.
Trasformazione perfetta = accade quando la funzione ideale è quella che ad ogni valore della chiave primaria fa corrispondere sempre un indirizzo diverso, di modo che ogni record possa essere raggiunto tramite un solo accesso.
Collisione = quando due o più chiavi in fase di trasformazione, possono generare lo stesso indirizzo, per risolvere questo problema occorre disporre di particolari procedure che collochino le registrazioni in conflitto, dette sinonimi.
Scansioni lineare o indirizzamento aperto = questa tecnica consiste nello scandire l'archivio in modo da ricercare il primo posto libero in cui sistemare la chiave che ha generato la collisione.
Passo di scansione = numero di posizioni per ricercare il posto libero in cui sistemare la chiave che collide.
L'indirizzo di rehash = può essere calcolato con una qualsiasi funzione che generi numeri pseudocasuali e che, definisca un incremento differente per l'indirizzo.
Un B-albero di ordine M può essere:
un B-albero vuoto oppure una ina.
Una ina è:
un B-albero al cui interno sono presenti ine caratterizzate da voci tutte minori di quelle presenti nella ine;
una sequenza di N voci.
Una voce è:
una chiave;
un riferimento a una struttura di dati;
un puntatore a B-albero.
Le qualità specifiche dei B-alberi possono:
offrire ottime per quanto riguarda per quanto riguarda sia le operazioni di ricerca che quelle di aggiornamento;
su di essi è anche possibile effettuare elaborazioni di tipo sequenziali dell'archivio primario.
A ogni B-albero è attribuito un preciso ordine M che rappresenta il massimo numero di li di ciascun nodo. I nodi (ine) possono ospitare fino a 2M record (voci) dell'archivio.
Proprietà:
è perfettamente bilanciato in altezza, cioè ha tutte le foglie allo stesso livello;
ogni nodo, esclusa la radice, deve contenere almeno M chiavi;
ogni nodo, inclusa la radice, deve contenere al massimo 2M chiavi;
la radice può essere una foglia, oppure deve avere almeno due li;
un nodo può essere una foglia, ossia una ina terminale;
tra le chiavi più grandi di una chiave presente in una ina non foglia;
tra le chiavi più piccole di una chiave presente in una ina non foglia.
Ricerca nel B-albero = la ricerca di una chiave all'interno di un B-albero avviene secondo le regole previste per gli alberi binari, cioè si parte dalla radice e si attraversano i nodi dei sottoalberi, fino a quando non si trova la chiave desiderata.
L'inserimento nel B-albero = l'operazione di inserimento, ma anche quella di cancellazione, rappresentano le operazioni più complesse e delicate, poiché devono avvenire nel rispetto del bilanciamento, ossia devono garantire che la struttura rimanga sempre bilanciata. Nel caso in cui si vada a inserire una chiave all'interno di una ina satura occorrerà allocarne una nuova.
Privacy
|
© ePerTutti.com : tutti i diritti riservati
:::::
Condizioni Generali - Invia - Contatta