1.96k likes | 2.19k Views
Basi di Dati Spaziali. Daniela Poggioli IREA - CNR DIIAR - Politecnico di Milano. Indice. Introduzione alle basi di dati Definizioni e caratteristiche principali Progettazione di una base dati Esterna, concettuale, logica, interna o fisica Modellizzazione concettuale di dati
E N D
Basi di Dati Spaziali Daniela Poggioli IREA - CNR DIIAR - Politecnico di Milano
Indice • Introduzione alle basi di dati • Definizioni e caratteristiche principali • Progettazione di una base dati • Esterna, concettuale, logica, interna o fisica • Modellizzazione concettuale di dati • Diagramma entità - relazione • Diagramma UML • Modellizzazione logica: il modello relazionale • Modellizzazione di dati geografici • Il dato geografico • Aspetto spaziale - Dati raster e vettoriali - Geometria e topologia • Aspetto semantico - Accessibilità dei contenuti - Ontologie • Aspetto di qualità - Metadati • Cenni ai GIS • Il problema dell’interoperabilità • Infrastrutture di dati spaziali (SDI): definizione • L’iniziativa europea Inspire
1. Introduzione alle basi si dati: Definizioni e caratteristiche principali • Rappresentare e gestire l’informazione • Sistemi informativi, informazioni e dati • Basi di dati e sistemi di gestione di basi di dati • Linguaggi per le basi di dati • Vantaggi e svantaggi dei DBMS
Rappresentare e gestire l’ informazione Ogni organizzazione ha bisogno di memorizzare e mantenere informazioni specifiche. Ad esempio: • Utenze telefoniche • Studenti iscritti ad un corso di laurea • Quotazione azioni nei mercati telematici • Proprietà catastali Necessitano di strumenti per la rappresentazione dell’informazione e della sua gestione.
Rappresentare e gestire l’ informazione • Informazione: é parte di qualsiasi attività umana • Rappresentazione: il problema di astrarre i concetti importanti da quelli trascurabili per poter modellare la realtà di interesse: ci serve studiare metodi di rappresentazione appropriati • Gestione: uso e trasformazione dell’informazione in maniera funzionale agli obiettivi
Sistemi informativi, informazioni e dati I sistemi informativi organizzano e gestiscono le informazioni necessarie allo svolgimento di ogni attività di una organizzazione: Sistema Informativo (Attività di organizzazione e gestione) DATI Informazioni 2377540 Numero matricola 2377540 • Il concetto di sistema informativo è indipendente dalla sua gestione automatica (es. archivi bancari, servizi anagrafici, …) Se è gestito in modo automatizzato => basi di dati • Dati = elementi di informazione, che di per sé non hanno interpretazione • Informazione = dati interpretati e correlati opportunamente • Dati “stabili”: poiché sono una risorsa da mantenere, devono essere indipendenti dalle procedure e applicazioni che operano su di essi
Sistemi informativi Un sistema informativo è un insieme di: • risorse umane, • strumenti di elaborazione, scambio, acquisizione di informazioni, • regole e procedure per il loro trattamento. L’obiettivo è quello di memorizzare grandi quantità di informazioni, rendendone disponibili anche le operazioni di modifica e di reperimento L’evoluzione dei sistemi informativi da settoriali a integrati per garantire l’interoperabilità dei dati
Gestione dei sistemi informativi Le informazioni differiscono dal tipo di applicazioni e dal loro uso, ma devono avere in comune un sistema di gestione che preveda: • Input e verifica dei dati • Gestione e memorizzazione dei dati • Presentazione e output dei dati • Trasformazione dei dati • Interazione con l’utente
Basi di dati e sistemi di gestione di basi di dati Una base di dati è una collezione di dati utilizzati per rappresentare le informazioni di interesse per un sistema informativo. Un sistema di gestione di basi di dati (DBMS) è un sistema software in grado di gestire collezioni di dati grandi, condivise e persistenti, assicurando la loro affidabilità e privatezza. Come ogni prodotto informatico un DBMS deve essere efficiente ed efficace.
Caratteristiche delle basi di dati • Grandi: anche migliaia di miliardi di byte (necessità di prevedere gestione dati in memoria secondaria) • Condivise: applicazioni e utenti diversi devono poter accedere, secondo opportune modalità, a dati comuni. In questo modo si riduce la ridondanza dei dati e la possibilità di inconsistenze cioè copie non uguali dello stesso dato. • Persistenti: i dati devono essere mantenuti, la loro esistenza non è limitata al periodo delle singole esecuzioni dei programmi che le utilizzano.
Caratteristiche deisistemi di gestione di basi di dati • Affidabilità: Capacità del sistema di conservare intatto il contenuto della base di dati (funzionalità di salvataggio e ripristino dei dati) • Privatezza: Definizione di meccanismi per le limitazioni dell’accesso (autorizzazioni) • Efficienza: Capacità di svolgere le operazioni utilizzando un insieme di risorse (tempo di esecuzione e spazio di memoria) accettabile per gli utenti • Efficacia: Capacità di rendere produttive le attività dell’utente
Database System Utenti Applicazioni DBMS Software per i programmi e le richieste Software per l’accesso Dati Metadati DBMS: struttura semplificata Noi ci occuperemo della progettazione una base di dati
Linguaggi per le basi di dati • Data Definition Language (DDL) = definisce livelli fisici, logici, esterni del DB (tratta anche le autorizzazioni di accesso) • Data Manipulation Language (DML) = per formulare interrogazioni e aggiornamenti delle istanze del DB Alcuni linguaggi (ad es. SQL) presentano in forma integrata le funzionalità di entrambe le catagorie. L’accesso ai dati può avvenire mediante: • Linguaggi testuali interattivi(es. SQL) • Comandi speciali integrati in un linguaggio di programmazione (Pascal, C, Cobol, ...) • Interfacce user-friendly che permettono di sintetizzare interrogazioni senza usare un linguaggio testuale
Vantaggi e svantaggi dei DBMS VANTAGGI • Permettono di considerare i dati come una risorsa comune, e le basi di dati come modello della realtà • Controllo centralizzato dei dati con possibilità di standardizzazione • La condivisione porta alla riduzione di ridondanze e inconsistenze • Indipendenza dei dati favorisce lo sviluppo e la manutenzione di applicazioni flessibili e modificabili SVANTAGGI • Complessi, costosi, hanno specifici requisiti in termini di SW e HW • Servizi forniti dai DBMS, in forma integrata
2. Progettazione di base di dati • Il ciclo di vita dei sistemi informativi • Metodologie di progettazione • Fasi di progettazione di basi di dati • Modelli dei dati: esterno, concettuale, logico, interno
Studio di fattibilità Raccolta ed analisi dei requisiti Progettazione Implementazione Validazione e collaudo Funzionamento e manutenzione Il ciclo di vita dei sistemi informativi Il progetto di una base di dati si inserisce nel ciclo di vita del sistema informativo che comprende le seguenti attività: La progettazione dei dati che individua l’organizzazione e la struttura della base di dati La progettazione delle applicazioni (funzioni), che schematizza le operazioni sui dati e progetta il software applicativo
Metodologie di progettazione • Una metodologia di progettazione consiste in: • Decomposizione dell’intera attività di progetto in passi successivi indipendenti fra loro (ad es. separare le decisioni relative a “cosa” rappresentare e “come” farlo) • Insieme di strategie e criteri di scelta da seguire nei vari passi • Modelli di riferimento per la descrizione dei dati
Metodologie di progettazione: proprietà • Le proprietà che una metodologia di progettazione deve garantire sono: • La generalità rispetto alle applicazioni (possibilità di utilizzo indipendentemente dal caso di studio e dagli strumenti) • La qualità del prodotto in termini di correttezza, completezza ed efficienza in relazione alle risorse impiegate • La facilità d’uso sia delle strategie che dei modelli di riferimento
Le fasi della progettazione 1. Analisi dei requisitiIndividuare e studiare le funzionalità che il sistema dovrà fornire 2. Progettazione Concettuale: Esprime i requisiti di un sistema in una descrizione adatta all’analisi dal punto di vista informatico Logica: Evidenzia l’organizzazione dei dati dal punto di vista del loro contenuto informativo, descrivendo la struttura di ciascun record e i collegamenti tra record diversi. Fisica: A questo livello la base di dati è vista come un insieme di blocchi fisici su disco. Qui viene decisa l’allocazione dei dati e le modalità di memorizzazione dei dati. Progettazione concettuale Progettazione logica Progettazione fisica 3. Implementazione e validazione Realizzazione del sistema informativo e verifica del corretto funzionamento
Le fasi della progettazione Come procedo? Dovrò: • Modellare dati e relazioni (il mondo reale va descritto) • Trovare le strutture appropriate per i dati Ogni fase della progettazione avrà come prodotto uno SCHEMA che fa riferimento ad un MODELLO di dati.
Modelli dei dati, schemi e istanze Modello dei dati: è un insieme di concetti che possono essere utilizzati per rappresentare la realtà, per organizzare i dati di interesse e descriverne la struttura. Schema dei dati: rappresentazione di una specifica parte della realtà, che usa un modello dei dati. Istanza: collezione di valori dei dati che rispetta la struttura dello schema.
Modellazione esterna dei dati Si devono individuare e studiare le funzionalità che il sistema dovrà fornire. Comporta l’interazione con gli utenti del sistema e gli esperti di dominio e si conclude in una descrizione informale dei requisiti. Uso il linguaggio naturale che però è soggetto ad ambiguità
Modellazione concettuale dei dati Ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione precisa e completa ma indipendente dai criteri di rappresentazione usati dal sistema informatico scelto per gestire la base di dati (rappresentazione astratta) Uso un linguaggio formale Esempi: Entità-relazione, UML
Modellazione logica dei dati Lo schema concettuale definito nella fase precedente viene tradotto nello schema logico che fa riferimento ad un modello logico. Ogni modello logico ha lo scopo di rappresentare la realtà di interesse in termini di una descrizione ancora indipendente dai dettagli fisici ma concreta, in quanto presente nei sistemi di gestioni delle basi di dati. Uso un linguaggio comprensibile al computer (mappatura) Esempi: relazionale, reticolare, gerarchico, a oggetti.
Modellazione interna dei dati Lo schema logico viene mappato nella struttura dei parametri fisici di memorizzazione dei dati (organizzazione dei file e degli indici). Si definisce lo schema fisico dei dati che dipende dal sistema di gestione di basi di dati scelto. IMPLEMENTAZIONE
3. Modellizzazione concettuale di dati • Il modello Entità-Relazioni: definizione, associazioni, identificatori, gerarchie e loro proprietà • Il modello UML: il diagramma delle classi e le relazioni
Diagramma entità relazioni Gli schemi del vari modello esterno descritti nel linguaggio naturale che derivano dall’analisi dei requisiti, vanno rappresentati con un modello concettuale utilizzando un linguaggio formale. Un metodo tra i più utilizzati è l'approccio entità - relazione: linguaggio formale basato sui concetti fondamentali di entità, relazioni, attributi, domini.
Entità Sono insiemi di oggetti concettualmente appartenenti ad una stessa classe, aventi proprietà comuni ed esistenza autonoma rispetto agli elementi di altre entità. Ogni entità ha un nome che la identifica univocamente. • Es. Città, Dipartimento, Impiegato, Acquisto e Vendita (nel contesto di un’applicazione aziendale) • Una occorrenza di una entità è un oggetto della classe che l’entità rappresenta Dipartimento Impiegato Città
Relazione • E' un legame concettuale tra due o più entità; Ad esempio: • Residenza: tra le entità Città e Impiegato • Esame: tra le entità Studente e Corso • Un occorrenza di relazione è una n-upla costituita da occorrenze di entità. Ad esempio: • Residenza: Bologna, Rossi; oppure Firenze, Verdi • Ogni relazione ha un nome che la identifica univocamente • Graficamente: Esame Corso Studente
Collega Relazione • Possono esistere relazioni diverse che coinvolgono le stesse entità. Ad esempio: Sede di lavoro Residenza Impiegato Città • È possibile avere relazione tra una entità e se stessa.
Voto Data esame Matricola Nome Esame Corso Studente Crediti Anno di iscrizione Docente Attributi • Descrivono le proprietà elementari di entità e relazioni che sono di interesse ai fini dell’applicazione. Ad es: • Cognome, Stipendio e Età sono possibili attributi dell’entità Impiegato • Data e Voto sono possibili attributi della relazione Esame tra Studente e Corso • Un attributo associa a ciascuna occorrenza di entità o di relazione un valore appartenente al dominio dell’ attributo • Dominio: range di valori ammissibili per l’attributo
Nome Età Sesso Persona Via Indirizzo Numero civico CAP Attributi • Attributi composti: • Può risultare comodo raggruppare attributi che presentano affinità nel loro significato e uso • L’insieme di attributi che si ottiene in questo modo viene detto attributo composto Attributi semplici Attributi composti
Prestito Persona Libro (0,5) (0,1) Cardinalità delle relazioni Per ogni entità che partecipa alla relazione viene indicata la cardinalità, cioè il numero minimo e massimo di legami che un elemento di quell’entità può formare con le occorrenze delle altre entità coinvolte. La cardinalitàrappresenta il numero di volte che una data istanza di entità deve o può partecipare alla relazione, ad es. • Un libro può essere in prestito o meno, una persona può avere in prestito fino a 5 libri.
Cardinalità delle relazioni • Nella maggiore parte dei casi, è sufficiente utilizzare solo tre valori: • Zero • Uno • Il simbolo N: indica genericamente un intero maggiore di uno • Cardinalità minima: • Zero: la partecipazione dell’entità relativa è opzionale • Uno: la partecipazione dell’entità relativa è obbligatoria • Cardinalità massima: • Uno: la partecipazione dell’entità relativa associa a una occorrenza dell’entità una sola occorrenza (o nessuna) dell’altra entità che partecipa alla relazione • Molti: c’è una associazione con un numero arbitrario di occorrenze dell’altra entità
Vendita Fattura Ordine (1,1) (0,1) Residenza Città Persona (0,N) (1,1) Prenotazione Viaggio Turista (0,N) (1,N) Cardinalità delle relazioni Osservando le cardinalità massime si ottiene la classificazione seguente: Relazione uno a uno • Cardinalità massima pari a uno per entrambe le entità coinvolte: definisce una corrispondenza uno a uno tra le occorrenze di tali entità. Relazione uno a molti • Ogni persona è residente in una sola città. Ogni città può avere molti residenti Relazione molti a molti Cardinalità massima pari a N per entrambe le entità coinvolte
(0,N) Targa automobile Persona Nome Numero patente (0,1) Cardinalità degli attributi • Possono essere specificate per gli attributi di entità o relazioni • Descrivono il numero minimo e massimo di valori dell’attributo associati a ogni occorrenza di entità o relazione • Nella maggior parte dei casi, la cardinalità di un attributo è (1,1) e viene omessa • Cardinalità minima • 0: l’attributo è opzionale (l’informazione potrebbe essere non disponibile) • 1: l’attributo è obbligatorio • Cardinalità massima • N: l’attributo è multivalore
Simbologia Simbologia adottata nel diagramma entità - relazione
Targa Automobile Modello Colore Identificatori delle entità (chiavi) • Descrivono i concetti (attributi e/o entità) che permettono di identificare univocamente le occorrenza delle entità • In molti casi, uno o più attributi di una entità sono sufficienti a individuare un identificatore interno (o chiave) • Esempio: non possono esistere due automobili con la stessa targa Identificatore interno
Data di nascita Persona Cognome Nome Indirizzo Identificatori delle entità (chiavi) • Es: un identificatore interno per l’entità Persona può essere Nome, Cognome e Data di nascita • Alcune volte gli attributi di una entità non sono sufficienti a identificare univocamente le sue occorrenze, ad es.
Matricola Nome Anno iscrizione Iscrizione Città Università Studente (1,N) Indirizzo (1,1) Cognome Identificatori delle entità (chiavi) • Due studenti iscritti a università diverse possono avere lo stesso numero di matricola • Per identificare univocamente uno studente serve, oltre al numero di matricola, anche la relativa università • Un identificatore corretto per l’entità studente è costituito dall’attributo Matricola e dall’entità Università • Questa identificazione è resa possibile dalla relazione uno a molti tra Università e Studente
Identificatori delle entità • Identificatore esterno: quando l’identificazione di una entità è ottenuta utilizzando altre entità. • Una entità E può essere identificata da altre entità solo se tali entità sono coinvolte in una relazione cui E partecipa con cardinalità (1,1).
Generalizzazioni Rappresentano legami logici tra una entità E detta padre e più entità E1 ,E2, ..., En dette entità figlie. L’entità E è più generale e comprende le entità figlie. (Struttura gerarchica) Ogni proprietà dell’entità padre è anche una proprietà delle entità figlie (ereditarietà) Es. Gli studenti hanno un nome e un indirizzo Ogni occorrenza di una entità figlia è anche occorrenza dell’entità padre. Es. Gli impiegati sono persone
Veicolo Automobile Bicicletta Generalizzazioni • Una generalizzazione è totalese ogni occorrenza della classe padre è una occorrenza di almeno una delle entità figlie, altrimenti è parziale. • Ad esempio la generalizzazione tra Persona e le entità Uomo e Donna è totale, la generalizzazione tra Veicolo e le entità Automobile e Bicicletta e parziale
Generalizzazioni • Una generalizzazione è esclusivase ogni occorrenza della classe padre è al più una occorrenza di una delle entità figlie, altrimenti è sovrapposta • Ad esempio la generalizzazione tra Veicolo e le entità Automobile e Bicicletta è esclusiva, la generalizzazione tra persona e le entità Studente e Lavoratore è sovrapposta • Le generalizzazioni sovrapposte possono essere trasformate in generalizzazioni esclusive. • Si aggiungono una o più entità figlie, per rappresentare i concetti che costituiscono le “intersezioni” delle entità che si sovrappongono, ad es: aggiungere l’entità StudenteLavoratore
Generalizzazioni • Una stessa entità può essere coinvolta in più generalizzazione diverse • Posso esserci generalizzazioni su più livelli (una gerarchia)
ESEMPIO: modellizzazione di dati geografici Il Catasto vuole un sistema informativo che permetta di associare le proprietà catastali ai rispettivi proprietari. Le proprietà catastali sono oggetti o "fenomeni” spaziali georeferenziabili tramite indirizzo (posizionamento indiretto) o coordinate del perimetro (posizionamento diretto)
Esempi di possibili applicazioni • Evidenziare tutte le particelle appartenenti al signor Rossi • Dare gli indirizzi e le dimensioni superficiali di tutte le particelle appartenenti al signor Rossi • Dare indirizzi e proprietari di tutte le particelle con dimensione maggiore di un certo valore • Trovare tutte le particelle adiacenti alle particelle del signor Rossi • Verificare se il signor Rossi e il signor Verdi hanno particelle confinanti • Dare le dimensioni di tutte le particelle che si affacciano sulla strada "NomeStrada". Stiamo considerando entità di tipo superficiale dobbiamo descrivere non solo le posizioni degli oggetti (particelle) ma anche le loro relazioni con altri oggetti (altre particelle, strade, proprietari,...)
ESEMPIO Consideriamo la modellazione solo geometrica dell'aspetto spaziale della carta; come primitive geometriche supponiamo di considerare: • punti • segmenti (curve caratterizzate solo da 2 vertici e dal metodo di interpolazione del cammino minimo) Supponiamo inoltre di avere informazioni relative al nome e tipologia delle strade; all'identificativo e all'indirizzo delle particelle catastali e dati anagrafici relativi ai proprietari delle particelle stesse (Codice Fiscale, Nome, Cognome, Data di Nascita, Luogo di Nascita, Indirizzo).