DBMS - Basi di dati

Archivi classici Archivi classici: file, record e organizzazione dei dati


Per consultare ed elaborare grandi quantità di dati occorre organizzarli in modo adeguato. Gli archivi classici permettono di comprendere come si strutturano le informazioni e come si scelgono le modalità più adatte per cercarle, aggiornarle e utilizzarle.In questo articolo

    Che cos’è un archivio

    Le attività gestionali, amministrative e statistiche richiedono dati organizzati in modo da facilitarne la ricerca, l’aggiornamento e la consultazione.

    In un sistema manuale le informazioni possono essere registrate su registri, quaderni e classificatori, organizzati in liste, elenchi e tabelle. In un sistema automatizzato i dati vengono conservati su supporti di memorizzazione e organizzati in strutture adatte alle esigenze dei programmi applicativi.

    Le informazioni non risiedono necessariamente in un’unica struttura. Possono essere distribuite tra strutture diverse, che devono essere correlate per consentire di recuperare da ciascuna la parte di informazione necessaria.

    Un archivio è l’insieme delle strutture che contengono le informazioni necessarie alle elaborazioni in un determinato contesto. Può essere composto da più sottoarchivi, organizzati per rispondere a esigenze differenti.

    Le categorie di sottoarchivi

    CategoriaFunzione
    PermanentiContengono le informazioni primarie del sistema informativo.
    TemporaneiConservano i risultati di elaborazioni momentanee o intermedie.
    StoriciConservano informazioni non più attuali, ma che possono essere consultate occasionalmente.
    Di sicurezza o backupContengono copie utili al recupero delle informazioni in caso di cancellazioni accidentali.

    File, record, campi e chiavi

    In informatica un archivio può essere considerato come un insieme di file. Ogni file raccoglie informazioni omogenee, relative a una determinata classe di oggetti.FileUn insieme di registrazioni relative a oggetti dello stesso tipo. Per esempio, nell’archivio di una scuola il file STUDENTI contiene i dati anagrafici degli alunni.Record o registrazioneDescrive le proprietà di un singolo oggetto. Nel file STUDENTI, un record contiene i dati di uno studente. Nel contesto descritto dalla fonte, la sua posizione nel file è individuata mediante un indirizzo logico.CampoUna delle informazioni elementari che compongono un record, come nome, cognome, data o luogo di nascita. Ogni campo ha un nome, che identifica la proprietà, e un valore riferito al singolo oggetto.ChiaveUno o più campi usati per individuare una registrazione nell’archivio. Gli altri campi contengono le informazioni supplementari sull’oggetto.

    Chiave primaria e chiave secondaria

    Nella terminologia della fonte, una chiave primaria è una chiave il cui valore individua al più una registrazione. Quando a un valore di ricerca corrispondono più registrazioni si parla di chiave secondaria.

    Esempio illustrativo: in un archivio scolastico una matricola univoca può identificare un singolo studente, mentre un cognome può essere usato per cercare più studenti che lo condividono.

    Le operazioni sugli archivi

    Le operazioni richieste dai programmi influenzano la progettazione dell’archivio. Una struttura adatta a ricerche frequenti può avere caratteristiche diverse da una pensata per elaborare tutti i dati.Creazione dell’archivio vuotoGenera i sottoarchivi previsti, ciascuno con la propria struttura e il proprio tracciato record.InserimentoAggiunge una nuova registrazione. Può richiedere interventi su più sottoarchivi e sulle relative correlazioni. La presenza di un ordinamento può rendere l’operazione più articolata.CancellazioneElimina una registrazione individuata dalla chiave, gestendo gli effetti sulle strutture collegate.AggiornamentoIndividua la registrazione mediante la chiave e modifica uno o più campi non chiave, secondo l’operazione descritta dalla fonte.RicercaIndividua una o più registrazioni associate a un valore di chiave. Può richiedere la consultazione di più sottoarchivi ed è spesso necessaria prima di cancellare o modificare dati.VisitaEsamina tutte le registrazioni per eseguire un’elaborazione su ciascuna di esse. Può seguire un ordine qualsiasi, purché ogni record venga esaminato una sola volta, oppure un ordine logico preciso.OrdinamentoDispone le registrazioni secondo un criterio, per esempio valori crescenti o decrescenti della chiave, per agevolare ricerca e visita.CopiaRiproduce un archivio o sue parti; viene utilizzata anche per costruire copie di sicurezza.FusioneCombina più sottoarchivi omogenei in un unico archivio. Se i sottoarchivi sono ordinati, occorre mantenere l’ordine delle chiavi.SeparazioneSuddivide un archivio in sottoarchivi fisicamente indipendenti, per esempio durante una ristrutturazione o in presenza di limiti di capacità del supporto.

    Ordine fisico e ordine logico

    L’ordine con cui i record sono memorizzati non coincide necessariamente con quello in cui devono essere elaborati.

    • Ordine fisico: la sequenza delle registrazioni sul supporto di memorizzazione.
    • Ordine logico: la sequenza stabilita dai valori della chiave, per esempio in ordine crescente o decrescente.

    Quando l’ordine fisico coincide con quello logico, il sottoarchivio viene detto ordinato. Per archivi grandi e complessi, l’ordinamento può richiedere tempi rilevanti: la tecnica deve quindi essere scelta in base alle esigenze.

    I tipi di organizzazione

    Per cercare una registrazione si può scorrere l’archivio, in tutto o in parte, oppure sfruttare informazioni ricavate dalla chiave per raggiungere la posizione interessata. L’organizzazione dei dati determina quanto queste operazioni siano agevoli.

    Archivi sequenziali

    I record sono memorizzati in blocchi consecutivi. L’archivio è ordinato se la successione dei record rispetta l’ordine della chiave; altrimenti è disordinato.

    La fonte distingue anche gli archivi seriali, nei quali i record vengono elaborati nell’ordine di memorizzazione e non è centrale una chiave d’accesso. Questa organizzazione è indicata quando si applica frequentemente la stessa elaborazione a buona parte dei record.

    Archivi sequenziali con indice

    All’archivio principale vengono associate una o più tabelle indice. Consultando l’indice, il programma può individuare il blocco interessato e saltare le registrazioni che non devono essere elaborate.

    Archivi ad accesso diretto

    La chiave viene utilizzata per ricavare informazioni sulla posizione della registrazione, anche mediante una funzione di trasformazione. Si può così accedere al record senza percorrere in sequenza tutti quelli precedenti.

    Il termine random, tradotto come “casuale”, indica qui un accesso che non richiede di seguire un ordine prestabilito. Questa organizzazione privilegia le ricerche e le interrogazioni su record specifici.

    Archivi a liste

    Ogni registrazione contiene un riferimento, o puntatore, alla registrazione che la segue nell’ordine logico. Record logicamente consecutivi possono trovarsi in posizioni fisiche distanti.

    Le liste possono facilitare inserimenti, estrazioni e riorganizzazioni secondo ordini diversi. La fonte le presenta come strutture che privilegiano aggiornamento e ordinamento rispetto alla ricerca.

    Archivi a liste invertite

    Si associano indici ai campi usati come chiavi secondarie. A ogni valore di ricerca corrisponde una lista di riferimenti ai record che possiedono quel valore.

    • L’archivio è parzialmente invertito se vengono indicizzati solo alcuni campi.
    • È totalmente invertito se tutti i campi sono considerati chiavi secondarie.

    Questa organizzazione è utile quando le ricerche coinvolgono più criteri e non una sola chiave.

    Altre organizzazioni

    Combinando le strutture di base si possono ottenere organizzazioni più complesse, come archivi multilista, ad albero e reticolari, adattate alle esigenze dell’applicazione.

    I metodi di elaborazione

    Il metodo di elaborazione è la modalità con cui l’archivio viene interrogato, aggiornato e visitato. È distinto dall’organizzazione dell’archivio, anche se la scelta dei due aspetti è strettamente collegata.

    MetodoModalità di accessoImpiego
    SerialeSegue l’ordine in cui i record sono stati registrati.Elaborazioni in cui l’ordine logico non è importante, come la copia o la stampa dell’intero contenuto.
    SequenzialeSegue l’ordine logico delle chiavi. Se coincide con l’ordine fisico, basta scorrere le registrazioni.La stessa elaborazione su gran parte dei record, secondo un ordine preciso.
    Sequenziale selettivoSegue l’ordine logico, elaborando solo i record di interesse.Elaborazioni su un sottoinsieme ordinato delle registrazioni.
    CasualeAccede di volta in volta a un record senza seguire un ordine.Interrogazioni e aggiornamenti puntuali; l’efficienza dipende dall’organizzazione utilizzata.

    Come scegliere l’organizzazione

    Organizzare un archivio significa scegliere sia la struttura dei dati sui supporti di memorizzazione sia le procedure di gestione e di accesso. La scelta deve bilanciare le esigenze dell’utente, i vincoli tecnici e i costi.

    Tasso di elaborazione

    Il tasso di elaborazione, chiamato hit rate nel documento, è il rapporto percentuale tra il numero di record a cui si accede durante una particolare esecuzione e il totale dei record dell’archivio.

    Tasso di elaborazione = (record interessati dall’elaborazione / record totali) × 100

    Un tasso elevato tende a favorire organizzazioni sequenziali o sequenziali con indice. Il parametro va valutato insieme alla frequenza complessiva delle elaborazioni nel periodo considerato.

    Modalità di lavoro

    Le elaborazioni a lotti possono favorire organizzazioni sequenziali. Le applicazioni interattive, invece, richiedono spesso accessi rapidi ai singoli dati.

    Crescita e volatilità

    Inserimenti e cancellazioni frequenti possono modificare lo spazio occupato. Un record cancellato logicamente può rimanere fisicamente presente finché lo spazio non viene recuperato.

    Occorre quindi considerare sia il riutilizzo dinamico dello spazio sia la crescita reale dell’archivio. Strutture flessibili possono facilitare le riorganizzazioni e contenere l’aumento dei tempi di ricerca.

    Integrità e recuperabilità

    La fonte richiama l’importanza di proteggere l’integrità dei dati e di prevedere il recupero delle strutture. Per esempio, la perdita di un puntatore in un archivio a liste può rendere difficile ricostruire i collegamenti. Le scelte progettuali devono quindi considerare copie dei dati fondamentali e procedure di backup adeguate.

    Risorse disponibili

    CPU, sistema operativo, linguaggi e supporti di memorizzazione possono imporre limiti alle strutture realizzabili e alle prestazioni. L’organizzazione deve essere compatibile con le risorse effettivamente disponibili.

    Costi

    Il progetto deve trovare un equilibrio tra qualità delle prestazioni e risorse economiche. Tra le voci da valutare rientrano:

    • Acquisto dell’hardware.
    • Progettazione e sviluppo del software applicativo.
    • Installazione e costituzione dell’archivio.
    • Gestione e manutenzione.

    Va considerata anche la distribuzione dei costi: in alcuni casi aggiornare il sistema disponibile può essere più conveniente che sviluppare software con strumenti inadeguati.

    Contenuto riorganizzato dal documento fornito “ARCHIVI CLASSICI”. Sono stati corretti refusi e uniformati lessico e formattazione. L’esempio sulla matricola è illustrativo; il termine “hit rate” è riportato nel significato adottato dalla fonte.

    info@giannimessina.it