Corso di Laurea Magistrale in Ingegneria per l’Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme di caratteri che devono essere elaborati e interpretati. Informazione: evoluzione del dato dopo che è stato interpretato. DATO + INTERPR. DATO = INFORMAZIONE DATO E INFORMAZIONE ESEMPIO DATO: Mario, Rossi, 156896, LM-AT Regola di INTERPRETAZIONE: Nome, Cognome, matricola, corso di laurea INFORMAZIONE: Mario Rossi è uno studente del Corso di Laurea Magistrale in Ingegneria per l'Ambiente e il Territorio con matricola n. 156896 SISTEMI PER L’ELABORAZIONE DEI DATI Sistema informativo: raccolta opportunamente organizzati; di dati Sistema informatico: architettura Hardware e Software che consente di automatizzare la gestione di un sistema informativo. STRUTTURE DI DATI Un database (DB) è un archivio di dati strutturati e memorizzati e in ambiente informatico, in modo da consentirne una veloce ed efficiente gestione (ricerca, inserimento, modifica, cancellazione) Un DB può essere gestito attraverso un Gestore di Basi di Dati (DBMS – Data Base Management System). L’organizzazione dei DB e l’utilizzo dei DBMS costituiscono un aspetto cruciale della “tecnologia GIS”. PROPRIETA’ DI UN DB GRANDEZZA: un DB deve potere contenere la prevista mole di dati senza che ciò rappresenti un problema per la sua gestione. PERSISTENZA: la “vita” dei dati non deve essere limitata al tempo di esecuzione da parte dei software che li gestiscono e/o utilizzano (a differenza di dati gestiti da un software in memoria centrale, cioè direttamente in CPU, che hanno una vita che inizia e termina con l’esecuzione del programma stesso). AFFIDABILITA’: il DB deve avere la capacità di conservare il suo contenuto in caso di malfunzionamento Software o Hardware e permetterne il salvataggio e il ripristino (backup e restore); PROPRIETA’ DI UN DBMS PRIVATEZZA: l’utente che accede al DB deve essere identificabile univocamente, in modo da controllare gli accessi ed assegnare agli utenti specifiche funzioni di consultazione e di eventuale elaborazione e/o modifica dei dati. EFFICIENZA: Il DBMS deve essere capace di svolgere le operazioni richieste utilizzando risorse strumentali e tempi accettabili per gli utenti (dipende anche dalla struttura del DB). EFFICACIA: un DBMS deve essere capace di rendere produttive le attività svolte su di esso dagli utenti; CONDIVISIONE: applicazioni e utenti diversi devono potere condividere l'accesso al DB secondo modalità impostate dal gestore del DB stesso. DATABASE SCHEMI E ISTANZE SCHEMI: forniscono la struttura dell'archivio, indicando i dati e la loro collocazione (“scheletro” del db). ISTANZE: insieme dei dati che popolano il DB e che lo schema consente di interpretare. STUDENTE MATRICOLA SCHEMA DB CORSO Rossi STUDENTE MATRICOLA CORSO Rossi 156245 Geomatica 156245 Geomatica ISTANZA ARCHITETTURA DI UN DBMS Livello fisico: DB LIVELLO FISICO strutture di memoria di massa in cui sono archiviati i dati e alle quali è necessario accedere in modo rapido ed efficiente; trasparente per l’utente; gestione affidata all'amministratore del DBMS. LIVELLO LOGICO UTENTE LIVELLO ESTERNO UTENTE UTENTE ARCHITETTURA DI UN DBMS DB LIVELLO FISICO Livello logico: LIVELLO LOGICO descrizione della struttura e dei contenuti del DB secondo formalismi codificati (modello dei dati); interfaccia tra il livello fisico e il livello esterno; UTENTE LIVELLO ESTERNO UTENTE UTENTE ARCHITETTURA DI UN DBMS LIVELLO FISICO DB LIVELLO LOGICO Livello esterno: LIVELLO ESTERNO UTENTE UTENTE livello di accesso al DB da parte dell'utente, che così può operare sui dati UTENTE DATABASE TIPOLOGIE DI DB I Data Base si classificano mediante il “modello dei dati” cioè l’insieme di concetti e modelli utilizzati per descrivere e organizzare i dati e definirne la struttura, in modo che sia implementabile a livello informatico. STRUTTURA LOGICA DEI DATABASE Può aversi un unico database per gestire le componenti geometrica ed alfanumerica del dato, oppure due database separati, uno per ciascuna componente, o ancora un database per i dati geometrici connesso a più database per le componenti alfanumeriche. Completata l’analisi dei dati, il “modello dati” deve essere implementato usando un software DBMS adeguato. Questo potrebbe essere implementato ex-novo, ma in genere si fa ricorso a sistemi disponibili, che si basano essenzialmente su quattro diverse tipologie di strutture logiche: gerarchica reticolare relazionale a oggetti MODELLO GERARCHICO: sviluppato intorno a gli anni 60, presenta una struttura ad albero, basata su “record” e caratterizzata da un vertice gerarchico, la radice del modello, al quale sono relazionati elementi di ordine inferiore, senza alcuna connessione tra gli elementi della stesso livello. La ricerca e selezione dei dati si basa su un sistema complesso di puntatori. E’ una struttura inflessibile che presenta difficoltà di aggiornamento, espansione e riduzione. UNIVERSITA' NOME SEDE STUDENTE NOME DOCENTE COGNOME MATRICOLA NOME COGNOME INSEGNAMENTO CORSO DI LAUREA NOME PROGRAMMA NUM. ESAMI MATERIA PROGRAMMA DOCENTE ESAME DOCENTE DATA ORARIO LEZIONI MODELLO RETICOLARE: sviluppato agli inizi degli anni 70, è detto anche modello CODASYL; è poco usato a causa della sua complessità di gestione (per puntatori). STUDENTE VOTO DOCENTE CORSO DI STUDI ESAME DIPARTIMENTO ATENEO E’ un modello molto elaborato, che offre una rappresentazione compatta, ammettendo per ogni record strutture superiori e inferiori. E’ simile al modello gerarchico, ma presenta una maggiore flessibilità poiché consente collegamenti anche tra elementi appartenenti allo stesso livello. In questa struttura a rete ogni elemento o gruppo di elementi simili è connesso a diversi elementi appartenenti a livelli diversi senza vincoli nel tipo di relazione. MODELLO RELAZIONALE: sviluppato tra la fine degli anni 70 e l’inizio degli anni 80, è oggi il più diffuso. L'archivio è organizzato in tabelle che riportano le stesse sequenze di dati; le righe sono i record e le colonne sono i campi. Il sistema di ricerca e selezione si basa sui valori dei campi (attributi) e non su puntatori. Ciascun campo può essere usato come chiave di ricerca attraverso interrogazioni interattive. Alcuni campi o sequenze di campi possono assumere il significato di identificatore univoco del record (singolo dato della tabella) Associando attributi comuni, si possono stabilire relazioni tra tabelle diverse, ottenendo una grande flessibilità della struttura. E' agevole l’espansione o la riduzione della base dei dati, così come il suo periodico aggiornamento. ESEMPIO UNIVERSITA' MATRICOLA CORSO DI STUDI CATANIA 178899698 LM-35 MATRICOLA COGNOME NOME DATA NASCITA 178899698 ROSSI PAOLO 12-03-86 CORSO DI STUDI LM-35 DIPARTIMENTO DICAR SEDE CT MODELLO AD OGGETTI: sviluppato negli anni 80, nasce come evoluzione del modello relazionale estendendo alla base di dati la programmazione ad oggetti. E’ la struttura di più recente sperimentazione e sviluppo. Un qualsiasi oggetto viene rappresentato come entità omogenea e indipendente. Gli elementi costituenti questo modello sono gli oggetti e le loro classi.