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. Da questo semplice schema viene che un file, che per definizione coadiuva un preciso programma software, è fatto di blocchi o record Ad esempio il programma-paghe elabora la paga di un operaio cioè legge tutti i suoi dati e stampa tutto quanto gli è dovuto. I dati dell'operaio (= nome, cognome, matricola ecc.) e la sua paga (=paga lorda, paga netta, contributi, ecc.) costituiscono due blocchi ovvero due record distinti.

Un file è una collezione di record, tutti dello stesso formato, che vengono fisicamente disposti su un medium o mezzo il quale in pratica è un disco rigido (oppure un disco flessibile, disco ROM, nastro ecc). I record vengono disposti secondo criteri diversi ed i vari tipi di file nascono proprio dal modo con cui i record vengono organizzati.

I due principali sono il file sequenziale e ad indice.

 

File Sequenziale: I record sono disposti secondo un rigido ordine lineare e sono necessariamente letti o scritti in sequenza.
Il file sequenziale appare una organizzazione rudimentale e permette elaborazioni sofisticate grazie ad un piccolo artificio aggiuntivo. Si sceglie un dato ed i record sono ordinati secondo i valori crescenti di tale dato. Ad esempio il file Dipendenti (sequenziale) con il seguente tracciato record è ordinato secondo la matricola dei dipendenti.

 

 

File ad indice: In questo archivio i record sono disposti nelle aree disponibili secondo un criterio di convenienza logistica. Si riempiono cioè le aree man mano che si liberano per precedenti cancellazioni, modifiche ecc. in modo da non sprecare spazi. Chiaramente i record sono sparpagliati e per rintracciarli si rende necessario un indice che funziona in questo modo.
Si definisce ufficialmente una chiave, che è il campo il cui valore identifica univocamente il record. L'indice, che è di fatto una tabella, collega un valore della chiave alla collocazione fisica del record. Supponiamo che la matricola sia la chiave del file Dipendenti allora l'indice (nell'esempio in figura) indica che i dati del dipendente 010 stanno nel cilindro 1 e nella pista 3, i dati di 012 si trova nel cilindro 2 e nella pista 4 ecc.

L'accesso ai record non è dunque diretto ma avviene mediante l'indice.
In linea di principio un programma qualsiasi accede ai record in modo sequenziale oppure secondo un ordine qualsiasi (random access). La complessità del file ad indice ha come contropartita vantaggiosa la totale libertà di disposizione fisica e di accesso.

In conclusione si ha il sequente quadro:

  Accesso
File Sequenziale solo sequenziale
File ad indice sequenziale e qualsiasi

 

 

 

 

 

 

Per completezza aggiungiamo che esiste anche il file random il quale in via di principio rassomiglia al file ad indice con la differenza che al posto dell'indice usa uno speciale algoritmo -detto algoritmo di randomizzazione - per accedere ai record. L'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 utilizzabili. Sebbene di algoritmi di randomizzazione ne sono stati inventati tanti, nessuno riesce ad ottimizzare l'uso degli spazi, e per tale motivo il file random è poco popolare.

 

 

 

 

  Indietro





=