Archivi L’uso degli archivi deriva dalla necessità di conservare dati e informazioni in modo permanente affinché possano essere riutilizzate anche a distanza di tempo. Questo vale: - per dati di tipo personale, come per es. la nostra rubrica telefonica; - per i documenti utili ad un’azienda come per es. l’archivio dei clienti e dei fornitori. ecc.
Archivio Definizione Insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: - tra di esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un medesimo argomento) - sono rappresentate secondo un formato che ne rende possibile l’interpretazione - sono registrate su un supporto in cui è possibile scrivere e rileggere informazioni anche a distanza di tempo - sono organizzate in modo da permettere una facile consultazione
Esempio: Elenco Telefonico Descrizione: è un archivio di dati dove sono raccolte le informazioni che riguardano gli abbonati al telefono di una provincia. Per ogni abbonato è riportato: - Generalità (Cognome,Titolo professionale e Nome) - Indirizzo (via e numero civico) - numero di telefono Tutte le informazioni dell’Archivio Elenco Telefonico sono stampate su fogli di carta.
Caratteristiche degli archivi Permanenza: L’informazione deve essere conservata inalterata e disponibile per tutto il tempo in cui essa è necessaria, solo l’intervento dell’uomo può distruggerla Razionalità: Le informazioni in un archivio devono essere organizzate in modo da garantire un reperimento rapido e senza possibilità di errore Sistematicità: Le informazioni presenti in un archivio non devono essere strutturalmente differenti (es: elenco tel. Non possiamo registrare alcune persone prima col nome e poi con il cognome e invece altre prima col cognome e poi col nome )
Definizioni All’interno di un archivio le informazioni vengono raggruppate secondo unità logiche dette Record Record : è una struttura di dati composta da un insieme finito di elementi eterogenei detti campi. I campi sono tra loro logicamente connessi e corrispondono agli attributi Tracciato Record: Elenco dei campi
Operazioni Su Archivi Creazione: - Nome dell’archivio - Tracciato Record (Campi) - Supporto da utilizzare - Dimensione massima dell’archivio - Organizzazione dell’archivio (legata al tipo di supporto utilizzato) N.B. Prima di essere usato, un archivio deve essere creato Operazioni di Manipolazione: - Inserimento di nuovi dati dopo che l’archivio è stato creato - Aggiornamento di dati già presenti nell’archivio - Cancellazione di informazioni che non si vogliono più conservare (eliminazione di record)
Operazioni di Interrogazione La Consultazione o Interrogazione consiste nel reperimento all’interno dell’archivio delle informazioni necessarie per l’elaborazione desiderata, può avvenire mediante: • Visualizzazione nel monitor • Stampa (Report) su carta Operazioni di Ordinamento L’Ordinamento dei dati secondo un determinato criterio Operazioni di Fusione La Fusione tra due o più archivi, cioè la formazione di un nuovo archivio utilizzando i dati contenuti in due o più archivi di partenza
File e Archivi • Problema della velocità nella ricerca e elaborazione • Problemi di spazio fisico occupato nella memorizzazione dei dati in formato cartaceo Archivi cartacei -------------------> Archivi informatici Archivio: è costituito da un insieme di record omogenei, nel senso che ciascun archivio possiede un tracciato predefinito e uguale per tutti i record in esso contenuti File: contenitore di dati in formato digitale memorizzati su supporto per essere trattati in modo automatico dai computer (file system) Memorie di massa (periferiche): sono i dispositivi collegati al calcolatore che memorizzano i file
File System - Poiché i file sono memorizzati in memoria di massa, per poterli elaborare è necessario prima spostarli nella memoria centrale (RAM). - Il File System è il modulo del sistema operativo che si occupa della gestione dei file e consente all’utente di usufruire degli archivi sulle memorie di massa.
Lettura di un File
Scrittura di un File
Record logico e Record Fisico Record logici: è la descrizione di come il programmatore vorrà suddividere il gruppo di informazioni che caratterizzano l’oggetto osservato Record fisici: rappresenta l’insieme dei caratteri che possono essere letti o scritti in memoria di massa con una singola operazione di lettura o scrittura. Esempio: Abbiamo un record Studente che ha come campi: nome (10 caratteri) e classe (2 caratteri).
Dal programmatore sarà gestito come insieme di due campi di 12 byte di lunghezza complessivi (record logico) Dal file System viene gestito come un blocco di dimensione fissa stabilita nel sistema operativo che stiamo usando. Se il nostro file System prevede blocchi di 24 byte allora nell’esempio avrò due record logici che formano un record fisico
Organizzazione La registrazione dei dati su un supporto di memoria di massa deve essere fatta in modo da organizzare i dati nel miglior modo possibile e consentire il loro ritrovamento in modo sicuro e in tempi brevi: - Ottimizzare l’uso dello spazio disponibile sul supporto - Ridurre i tempi di accesso e di ritrovamento dei dati L’organizzazione dell’archivio fa riferimento al modo in cui i record sono disposti all’interno dell’archivio. Essa può essere: - Sequenziale - Ad accesso diretto - Ad Indici
Organizzazione sequenziale - I record sono memorizzati uno di seguito all’altro. Per ogni record ne esiste uno precedente e uno successivo (a eccezione del primo e dell’ultimo). - Per accedere ad un particolare record è necessario scorrere il file, record per record. - L’inserimento di un nuovo record può avvenire solo in fondo al file. Vantaggi: Semplicità di gestione. Uso di record di lunghezza diversa l’uno dall’altro (il primo campo contiene la lunghezza del record) Limiti: Difficoltà a trovare l’informazione quando il numero di record è elevato
Organizzazione ad accesso diretto Tutti i record hanno lunghezza fissa NR = Numero Record LR = Lunghezza del Record Per leggere il record x NR ci si deve posizionare sul carattere corrispondente a: (NR-1) * LR +1 Vantaggio: si può dunque accedere direttamente al record che interessa anche nel caso di un elevato numero di record
Organizzazione ad indici - L’organizzazione si deve pensare come quella di un libro dotato di indice analitico. In tale indice sono elencate in ordine alfabetico le parole chiave, che richiamano gli argomenti e i concetti trattati nel testo, affiancate ciascuna dalla pagina corrispondente del libro. - Il lettore cerca la parola nell’indice analitico con un determinato metodo di ricerca (l’elenco è ordinato) e trova il numero della pagina dove viene trattato l’argomento. - È necessario utilizzare come indice una tabella che contiene tutte le chiavi di riferimento ai record - la ricerca del Record avviene leggendo le chiavi e non i record.
Limiti dell’organizzazione tradizionale degli archivi mediante i file Supponiamo di voler registrare le informazioni relative agli ordini di accessori per auto fatti da alcuni clienti di un’impresa. Realizziamo un file Clienti e un file Ordini
Quando si vogliono associare tra loro i dati contenuti nei due file possono nascere problemi di questo tipo: • Ridondanza di dati (esistono dati ripetuti, il codice di un articolo la descrizione dell’articolo ordinato viene ripetuta per ogni movimento); • a causa della ridondanza nascono problemi di Incongruenza, (infatti se si modifica il prezzo della batteria, tale modifica deve essere riportata a tutti i record che contengono quell’articolo) • a causa dell’incongruenza si possono nascere problemi di Inconsistenza (i dati diventano inaffidabili).
Problemi • Nell’organizzazione tradizionale degli archivi, i classici linguaggi di programmazione richiedono che all’interno del programma vengano specificati gli archivi utilizzati e la struttura dei loro record. -- - Questo comporta parecchi disagi, infatti se si deve modificare un record significa che occorre modificare tutti i programmi che usano quel record. • L’accesso ai dati è legato all’organizzazione degli archivi. Soluzioni E’ evidente la necessità di avere un unico contenitore di informazioni, a cui tutti i programmi possano accedere contemporaneamente (accesso multiplo) utilizzando semplici linguaggi che NON richiedano uno stretto legame con la rappresentazione fisica dei dati. La teoria dei database introduce una nuova metodologia di organizzazione degli archivi di dati, con l’obiettivo di superare i limiti visti. DATABASE (Base di dati)
Un programma vede un file come una sequenza di bytes (file logico) Un file è una struttura di dati residente su una memoria di massa (file fisico).