Informatica in pillole, con Attilio A. Romita (7)

Pubblicato il 5 Gennaio 2009 in da Vitalba Paesano

Come conserviamo i dati?

Ordine innanzitutto

Tanti anni fa, ma sicuramente meno di 50, un diffuso mezzo di registrazione dei dati erano le schede perforate che avevano un grande vantaggio: anche l’uomo era capace di leggerle senza bisogno di strani strumenti. Purtroppo le schede contenevano pochi dati (80 bytes) erano poco maneggevoli e prima di farle leggere all’elaboratore (caricarle) dovevano essere messe in ordine (selezionate) con macchine accessorie lente e faticose da usare.

I nastri magnetici, e poi i dischi, hanno sostituito le schede con ovvi vantaggi di sicurezza e quantità di lavoro manuale. Sicurezza perché non capitava più che si perdesse una scheda e quindi che ….a qualcuno non fosse calcolato lo stipendio. Fatica fisica perché mettere un nastro sulla macchina era molto più semplice che caricare qualche migliaio di schede. Purtroppo qualche volta il nastro si rompeva o si “stirava” e si perdevano tanti dati, ma in questi casi la soluzione era facile: bastava rifare il passo precedente, quello, cioè che aveva scritto il nastro sfortunato.

Le elaborazioni con Nastri magnetici.

I nastri conservavano i dati esattamente nell’ordine come erano scritti cioè sequenzialmente e non erano possibili elaborazioni che richiedevano un ordine diverso. Per. es. il nastro contenente le fatture di un mese spesso era ordinato in ordine del Codice Cliente. Questo nastro per essere messo insieme (fuso o “mergiato”) con il nastro delle fatture emesse nei mesi precedenti, che era ordinato sul numero della fattura per comodità delle elaborazioni successive, doveva prima essere ordinato (selezionato) nel nuovo ordine. Dal piccolo esempio fatto si può capire che tutte le procedure a nastri, cioè tutti i cicli di elaborazione su dati contenuti su i nastri, comprendevano molteplici passi di ordinamento e fusione che le rendevano lunghe e pesanti da eseguire.

Come abbiamo detto i nastri permettevano solo elaborazioni sequenziali in quanto non era possibile, a meno di enorme aumento dei tempi di esecuzione, trattare i dati a salti avanti ed indietro.

I nuovi dischi magnetici permettevano di scrivere i dati sequenzialmente come un nastro, ma, con particolari tecniche di registrazione e ricerca permettono la ricerca a salti (random).

I dischi, qualunque sia la dimensione e la capacità, registrano i dati su cerchi concentrici e ciascun punto del cerchio passa sotto la stazione di lettura ad ogni giro. Inoltre la “velocità di scorrimento del disco”, cioè la quantità di dati che passano sotto la testina, è molto più alta di quella di un nastro.

L’esempio che segue può essere utile per valutare la differenza di utilizzo tra un archivio su nastro ed un archivio su disco. Una biblioteca ha i suoi libri in ordine alfabetico e collocati in un locale rettilineo ed una bibliotecaria deve preparare i libri da consegnare ad un certo numero di Clienti sulla base di un modulo di richiesta. Per ogni modulo la bibliotecaria preleva i titoli percorrendo la biblioteca dall’inizio alla fine e quindi torna all’inizio per lavorare sul modulo successivo. Adesso costruiamo la biblioteca con gli scaffali circolari e su più piani. La stessa bibliotecaria può fare molta meno strada in quanto alla fine del suo primo modulo s trova esattamente all’inizio della biblioteca e, se la biblioteca è su più piani, può facilmente controllare se un certo piano può essere saltato perché non contiene alcun libro richiesto.

Questa facilità che ha la testina di lettura di passare rapidamente da un punto all’altro del disco può essere inoltre sfruttata se noi siamo in grado a creare opportuni indici dei dati che ci permettano di arrivare più facilmente al dato che ci serve. Per es. pensate quanto può essere difficile trovare nel manuale uso e manutenzione di una automobile come si si cambia una lampadina e quanto questa operazione è facilitata se esiste un indice alfabetico o degli indici con capitoli e sottocapitoli.

Una delle prime organizzazioni di dati è stata quella detta INDEXED SEQUENTIAL (I:S:), cioè i dati sono registrati sequenzialmente e logicamente suddivisi in vari blocchi. Insieme all’archivio è registrato l’indice che riporta l’indirizzo, cioè la zona del disco, dove è registrato il blocco il cui primo elemento è riportato nell’indice. Con questo “trucco” è possibile arrivare “al volo” ad un dato vicino a quello che si ricerca e da questo, sequenzialmente, trovare il dato corretto.

L’organizzazione I.S. è stata la prima usata e è la base di tutte le organizzazioni successivamente inventate.

Nel corso degli anni sono stati inventati vari modelli di indice per arrivare ai cosiddetti “database reticolari” cioè archivi complicatissimi che permettono di associare i dati secondo i criteri più disparati. E questo non per particolari esigenze di complicazione, ma perché aumentando la quantità di dati registrati, si sono rese possibili delle elaborazioni complesse e particolarmente utili.

Un esempio comprensibile, anche se molti esperti puristi non saranno d’accordo, di database reticolare è un manuale nel quale esistono una serie di pagine contenenti le informazioni ed una serie di indici che associano le informazioni in modo diverso come possono essere indici alfabetici, indici per parole chiave, per titoli e sottotitoli,