ARCHIVI INFORMATICI Ogni volta che un programma viene eseguito, di regola esso legge, aggiorna e/o scrive una serie di dati i quali in blocco vengono acquisiti e/o riposti all'esterno. Questo è lo schema del cosidetto input/output del programma.
Un programma raramente muove un dato per volta in input/output, di regola gestisce diversi dati insieme, dunque i dati vanno archiviati in blocchi, cioè un file è costitutito da blocchi o record. Ad esempio il programma-paghe elabora la paga di un operaio e per lo scopo acquisisce tutti i suoi dati in blocco cioè nome, cognome, matricola, anzianità lavorativa ecc. Alla fine stampa quanto gli è dovuto e cioè la paga lorda, la paga netta, i contributi, ecc. Anche questi dati collezionati insieme costituiscono un preciso record. Un file è un insieme di record, che vengono fisicamente disposti su un supporto fisico chiamato anche mezzo o medium il quale in pratica è il disco rigido, oppure un disco floppy, CD ROM, nastro ecc. I record vengono disposti secondo criteri diversi ed i tre principali tipi - file sequenziale, ad indice e random - nascono in sostanza dal modo con cui i record vengono organizzati sopra il supporto fisico.
File Sequenziale: I
record sono fisicamente disposti uno dietro all'altro. Formano un
rigido ordine
lineare e sono necessariamente elaborati in sequenza.
Figura - Tracciato record Dipendenti
File ad indice: I record sono disposti nelle
aree disponibili secondo un criterio di convenienza
logistica. Si riempiono cioè le aree in modo da non sprecare
spazi specie dopo aggiornameti, copiature, e cancellazioni. Chiaramente i record
non possono essere messi in linea e
per assenare loro i posti si adopera un indice che funziona in questo modo.
Figura - Schema di indice L'accesso ai record avviene dunque mediante l'indice.
File random: Rassomiglia
al tipo precedente nel senso che
i record sono collocati liberamente sul supporto e non sono in sequenza fisica.
Per assegnare la posizione, si usa uno speciale algoritmo detto
algoritmo di randomizzazione che fa le veci dell'indice
sopra visto. La funzione di randomizzazione dovrebbe occupare al meglio gli spazi ed evitare collisioni cioè che due record diversi siano assegnati allo stesso posto. Tale algoritmo è molto più veloce da usare rispetto all'indice ma questo vantaggio ha come contropartita un grosso difetto: i record si piazzano in modo lasco lasciando ampi spazi vuoti e non riutilizzabili. Sebbene di algoritmi di randomizzazione ne sono stati inventati tanti per risolvere il problema, nessuno riesce ad ottimizzare l'uso degli spazi, e per tale motivo il file random è poco popolare.
In linea di principio un programma qualsiasi accede ai record in modo sequenziale oppure secondo un ordine qualsiasi (detto anche random access). Il file sequenziale permette accessi eslusivamente sequenziali, mentre gli altri due offrono amedue le possibilità di accesso.
anno 2007 |