TRADUZIONE DI SCHEMI ENTITÀ/RELAZIONI SPAZIO-TEMPORALI IN SCHEMI XML

Documenti analoghi
Informatica (Basi di Dati)

Lezione 4. Modello EER

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Progettaz. e sviluppo Data Base

Rappresentazione grafica di entità e attributi

Modellazione dei dati in UML

Esercitazione di Basi di Dati

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Alessandra Raffaetà. Basi di Dati

Identificatori delle entità

09/11/2009. Requisiti della base di dati. Schema concettuale. Schema logico. Schema fisico. Progettazione concettuale. progettazione logica

Lezione 2. Il modello entità relazione

Progettazione Logica. Progettazione Logica

Organizzazione degli archivi

Progettazione concettuale

Database 1 biblioteca universitaria. Testo del quesito

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

MODELLO E/R. Modellazione dei dati

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Database. Si ringrazia Marco Bertini per le slides

1. PRIME PROPRIETÀ 2

La Progettazione Concettuale

MODELLO RELAZIONALE. Introduzione

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Università Politecnica delle Marche. Progetto Didattico

Progettazione di Basi di Dati

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

Generazione Automatica di Asserzioni da Modelli di Specifica

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Capitolo 2. Operazione di limite

CAPITOLO 7 ESERCIZI SUL MODELLO ER

Strumenti di modellazione. Gabriella Trucco

Basi di Dati Relazionali

Gestione Voti Scolastici

Esercizio data base "Biblioteca"

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Soluzione dell esercizio del 2 Febbraio 2004

I database. Cosa sono e a cosa servono i Database

Progettazione di una base di dati Ufficio della Motorizzazione

DATABASE RELAZIONALI

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Guida all uso di Java Diagrammi ER

LE FUNZIONI A DUE VARIABILI

Corso di. Dott.ssa Donatella Cocca

Sistemi Informativi e Basi di Dati

Automazione Industriale (scheduling+mms) scheduling+mms.

Dalla progettazione concettuale alla modellazione di dominio

TEORIA sulle BASI DI DATI

database: modello entityrelationship

I Sistemi Informativi

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Sistema Informativo Geografico:

Il database management system Access

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Progettazione di un DB....in breve

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Dimensione di uno Spazio vettoriale

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Corso di Informatica (Basi di Dati)

Progettazione logica relazionale (1/2)

Progettazione di Database. Un Esempio

La Metodologia adottata nel Corso

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Lezione V. Aula Multimediale - sabato 29/03/2008

1. BASI DI DATI: GENERALITÀ

RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova

GESTIONE della BASE di DATI

Introduzione alla teoria dei database relazionali. Come progettare un database

Ottimizzazione delle interrogazioni (parte I)

Fasi di creazione di un programma

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Corrispondenze e funzioni

EXPLOit Content Management Data Base per documenti SGML/XML

Informatica (Basi di Dati)

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Capitolo 13: L offerta dell impresa e il surplus del produttore

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Le Basi di Dati. Le Basi di Dati

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Informatica I per la. Fisica

Appunti sulla Macchina di Turing. Macchina di Turing

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Basi di Dati e Microsoft Access

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Guida Compilazione Piani di Studio on-line

Gestione Turni. Introduzione

DATABASE. A cura di Massimiliano Buschi

Soluzione dell esercizio del 12 Febbraio 2004

Transcript:

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Triennale in Informatica Tesi di Laurea TRADUZIONE DI SCHEMI ENTITÀ/RELAZIONI SPAZIO-TEMPORALI IN SCHEMI XML Relatore: Prof. ANGELO MONTANARI Laureando: STEFANO DE SABBATA Correlatore: Dott. DONATELLA GUBIANI ANNO ACCADEMICO 2004-2005

Indice 1 Introduzione 9 2 Il modello E/R 11 2.1 I costrutti del modello E/R..................... 11 2.1.1 Entità............................. 12 2.1.2 Attributo........................... 12 2.1.3 Relazione........................... 15 2.1.4 Entità debole......................... 15 2.1.5 La relazione di specializzazione............... 17 2.2 Il modello spazio-temporale ChronoGeoGraph........... 19 2.2.1 Estensione spaziale...................... 20 2.2.2 Estensione temporale..................... 33 3 XML ed XML Schema 45 3.1 L extensible Markup Language................... 45 3.2 DTD - Document Type Definition.................. 48 3.3 XML Schema............................. 52 3.3.1 Tipi di dato complessi.................... 55 3.3.2 Namespace.......................... 59 3.4 Linguaggi di interrogazione...................... 60 3.4.1 XPath............................. 60 3.4.2 XQuery............................ 63 3.5 GML.................................. 66 3.5.1 Elementi spaziali....................... 67 4 Metodologie di traduzione 73 4.1 Traduzione degli schemi E/R..................... 73 4.1.1 Il documento di schema................... 74 4.1.2 Entità e attributi....................... 74 3

4 INDICE 4.1.3 Relazioni............................ 82 4.1.4 Specializzazioni........................ 88 4.2 Traduzione di schemi ChronoGeoGraph............... 91 4.2.1 Trattamento dei dati spaziali................ 92 4.2.2 Trattamento dei dati temporali............... 97 5 Un algoritmo di traduzione 111 5.1 Definizione dell algoritmo principale................. 111 5.2 Procedure............................... 114 5.3 Codifica dell algoritmo........................ 118 5.3.1 La classe traduttorecggxsd................ 118 5.3.2 La classe cgglist...................... 140 5.3.3 La classe cggschema.................... 142 5.3.4 La classe xsdoc....................... 152 5.4 Un caso di studio........................... 157 5.4.1 Operazioni eseguite dall algoritmo.............. 158 5.4.2 Documento XML Schema ottenuto............. 161 6 Conclusioni 175

Elenco delle figure 2.1 Entità studente e professore..................... 12 2.2 Entità studente e professore con attributi.............. 13 2.3 Attributi composti, multivalore, opzionali e chiave......... 13 2.4 Esempio di attributo derivato.................... 14 2.5 Relazione tra professore e dipartimento............... 15 2.6 Vincoli di cardinalità e di partecipazione.............. 16 2.7 Relazione multipla.......................... 17 2.8 Esempio di entità debole....................... 17 2.9 Esempio di specializzazione totale disgiunta............ 18 2.10 Tipi di specializzazione........................ 19 2.11 Notazione per le specializzazioni in ChronoGeoGraph....... 20 2.12 L entità georeferenziata regione.................. 21 2.13 Tipi di entità georeferenziate..................... 22 2.14 Tipi di relazioni topologiche..................... 23 2.15 Esempio di relazione topologica................... 24 2.16 Esempi di specializzazione cartografica............... 28 2.17 Esempio di aggregazione spaziale.................. 29 2.18 Esempio di aggregazione....................... 30 2.19 Tipi di campionamento........................ 31 2.20 Esempio di operatore derivato da un campo............ 32 2.21 Esempio di territorio di schema................... 33 2.22 Chronon, istante ed evento...................... 34 2.23 Diagramma a stati predefinito.................... 37 2.24 Esempio di entità con lifespan.................... 38 2.25 Esempio di attributi e collezione di attributi con tempo di validità 39 2.26 Esempio di entità e collezione di attributi con tempo di transazione 40 2.27 Tempo dell evento e tempo di disponibilità delle collezioni di attributi e del lifespan delle entità................... 41 5

6 ELENCO DELLE FIGURE 2.28 Tempo dell evento e tempo di disponibilità delle relazioni..... 41 2.29 Tipi di relazioni di sincronizzazione................. 42 2.30 Esempio di relazione di sincronizzazione.............. 43 2.31 Esempio di relazione con cardinalità lifespan............ 43 3.1 Struttura gerarchica di un libro................... 46 4.1 Entità Impiegato.......................... 77 4.2 Entità Impiegato, con chiave nome e cognome....... 80 4.3 Entità Impiegato e Dipartimento................ 82 4.4 Relazione multipla.......................... 87 4.5 Esempio di specializzazione totale disgiunta............ 89 4.6 Esempio di specializzazione parziale con sovrapposizione..... 90 5.1 Schema ChronoGeoGraph analisisanitaria relativo al caso di studio................................. 159

Elenco delle tabelle 2.1 Le relazioni topologiche in ChronoGeoGraph (parte 1)...... 25 2.2 Le relazioni topologiche in ChronoGeoGraph (parte 2)...... 26 2.3 Possibili operatori per attributi derivati legati a campi...... 32 3.1 Tipi di dato predefiniti........................ 53 3.2 Restrizioni sui tipi di dato...................... 54 3.3 Restrizioni applicabili ai tipi di dato................. 55 7

8 ELENCO DELLE TABELLE

Capitolo 1 Introduzione L implementazione di basi di dati con linguaggi XML va imponendosi come significativo tema di ricerca e sviluppo. Tale linea di ricerca è sicuramente alimentata dal sempre maggiore utilizzo di XML nelle applicazioni collegate al Web, dall utilizzo di XML come strumento di esportazione e trasferimento dei dati da parte di molti programmi di vario genere, dal supporto a questo linguaggio fornito da sistemi quali, ad esempio, Oracle e dalla disponibilità di nuovi strumenti che ne aumentano la semplicità di utilizzo e la precisione nella definizione dei documenti. Esistono diversi lavori sull utilizzo di XML per la definizione di basi di dati. In particolare, è stato evidenziato come XML possa risolvere alcuni problemi riscontrati nelle basi di dati relazionali per quanto riguarda la gestione di informazioni temporali. È inoltre interessante rilevare la presenza di applicazioni come GML che sfruttano l XML per la costruzione di Sistemi Informativi Geografici (GIS). In questo lavoro viene proposta una metodologia di traduzione di schemi concettuali spazio-temporali, ovvero di schemi che comprendano sia la definizione di dati geografici (come avviene nei GIS) sia il trattamento di aspetti temporali (inclusi quelli relativi all evoluzione temporale delle informazioni geografiche) in XML. Il punto di partenza della presente trattazione sono gli schemi Entità/Relazioni [4], arricchiti con informazioni spazio-temporali. Quale modello concettuale spazio-temporale di riferimento viene adottato il modello Chrono- GeoGraph [3]. L applicazione della metodologia proposta porta alla costruzione di schemi per la definizione di documenti in formato XML che uniscono concetti e tecniche tipiche delle basi di dati relazionali, come il riferimento a chiave, a strutture più simili a quelle usate nelle basi di dati gerarchiche. La tesi è organizzata nel seguente modo. Nel Capitolo 2 vengono introdotti i 9

10 CAPITOLO 1. INTRODUZIONE due modelli che costituiscono il punto di partenza del presente lavoro: il modello Entità/Relazioni ed una sua estensione spazio-temporale, ovvero il modello ChronoGeoGraph. Di entrambi vengono descritti i costrutti fondamentali ed il loro utilizzo. Nel Capitolo 3 viene introdotto il linguaggio XML, che è stato scelto, per le sue peculiari caratteristiche, quale strumento per la definizione di basi di dati spazio-temporali della traduzione proposta. In particolare, vengono introdotti due linguaggi per la definizione di grammatiche XML (DTD ed XML Schema) e due linguaggi di interrogazione per documenti XML (XPath ed XQuery). Nel Capitolo 4 viene illustrata la metodologia proposta per la traduzione dei costrutti dei modelli Entità/Relazioni e ChronoGeoGraph. Partendo dalla codifica dei semplici costrutti del modello Entità/Relazioni si giunge alla trattazione degli aspetti spaziali e temporali del modello ChronoGeoGraph, descrivendo in modo dettagliato le diverse soluzioni analizzate discutendo le limitazioni della traduzione proposta. Nel Capitolo 5 si presenta in dettaglio l algoritmo di traduzione in pseudo-codice degli schemi Entità/Relazioni spazio-temporali in schemi XML. Infine, viene riportato un esempio di applicazione dell algoritmo ad uno schema ChronoGeoGraph relativo ad un sistema di analisi dei dati nel contesto sanitario. Nelle conclusioni vengono riassunti i principali risultati raggiunti e vengono delineati i possibili sviluppi futuri del lavoro.

Capitolo 2 Il modello E/R In questo capitolo viene introdotto il modello concettuale Entità/Relazioni, che costituisce il punto di partenza del lavoro di tesi. Un modello concettuale è un insieme di costrutti che consentono di definire, a livello concettuale e quindi in maniera astratta, la realtà che si vuole codificare all interno di una base di dati. L utilizzo di questo modello permette di lasciare ad una fase successiva della progettazione il compito di decidere come codificare i dati in strutture adatte ad un calcolatore. Un modello concettuale si occupa semplicemente di descrivere cosa interessa codificare, a prescindere dalle modalità di organizzazione e memorizzazione. Tale modello permette di descrivere in modo relativamente semplice il dominio di interesse mediante diagrammi, i quali vengono creati combinando le rappresentazioni grafiche dei diversi costrutti. Nella prima sezione di questo capitolo descriveremo i costrutti fondamentali del modello E/R quali,le entità, gli attributi e le relazioni. Introdurremo inoltre un costrutto aggiuntivo, disponibile nel modello comunemente chiamato EER (Enhanced E/R), quale la specializzazione. Una trattazione più dettagliata di questi argomenti si può trovare in [1]. La seconda sezione sarà, invece, dedicata ad una recente estensione spaziotemporale del modello E/R, denominata ChronoGeoGraph. 2.1 I costrutti del modello E/R Il modello E/R è stato il primo modello concettuale per la definizione di basi di dati proposto da Chen in [4] ed è diventato un punto di riferimento universal- 11

12 CAPITOLO 2. IL MODELLO E/R mente riconosciuto per la sua semplicità di utilizzo. Tale modello è composto da tre costrutti fondamentali: entità; attributo; relazione. Questi costrutti consentono di modellare, tramite semplici diagrammi, la realtà che si intende gestire con la base di dati. Nel resto della sezione descriveremo brevemente i costrutti dell E/R, la loro semantica ed il loro utilizzo. 2.1.1 Entità L entità è uno dei due costrutti da cui prende il nome il modello. Le entità rappresentano classi di oggetti di interesse per l applicazione. Come il nome stesso suggerisce, ogni entità del mondo reale che vogliamo inserire nel modello va codificata con questo costrutto. Un semplice esempio è quello di una base di dati per università in cui si voglia memorizzare i dati riguardanti studenti e professori. Gli studenti (ma non i professori) verranno identificata dalla loro matricola; i professori (ma non gli studenti) dal codice del loro ufficio (assumendo che ogni professore disponga di un proprio ufficio). La notazione grafica per le entità è costituita da dei rettangoli al cui interno si trova il nome dell entità stessa. In Figura 2.1 sono rappresentate le entità del precedente esempio. Figura 2.1: Entità studente e professore 2.1.2 Attributo Come accennato, per ognuna delle istanze delle entità si vuole tener traccia di alcuni dati. Ad esempio, nome, cognome, matricola e corso di laurea frequentato nel caso degli studenti e nome, cognome, numero dell ufficio e dipartimento

2.1. I COSTRUTTI DEL MODELLO E/R 13 Figura 2.2: Entità studente e professore con attributi Figura 2.3: Attributi composti, multivalore, opzionali e chiave per i professori. Il costrutto che permette di codificare queste informazioni è l attributo. Per ciascuna delle proprietà sopra introdotte, viene definito un attributo, rappresentato da una ellisse, contenente il nome della proprietà, collegato alla relativa entità (Figura 2.2). Oltre agli attributi semplici ed a singolo valore, come quelli di Figura 2.2, il modello E/R mette a disposizione vari tipi di attributo, con diverse caratteristiche: Attributi composti. Gli attributi composti sono attributi strutturati, che possono essere decomposti in un insieme di altri attributi. Supponendo, ad esempio, di voler conoscere l indirizzo di ogni studente, possiamo immaginare di utilizzare un attributo composto indirizzo, costituito da città, via e numero civico (Figura 2.3).

14 CAPITOLO 2. IL MODELLO E/R Attributi multivalore. Gli attributi multivalore sono attributi che possono assumere uno o più valori contemporaneamente. Nello schema di Figura 2.3, l attributo multivalore telefono consente di memorizzare, per ogni studente, uno o più numeri di telefono. Attributi opzionali. Gli attributi opzionali sono attributi il cui valore per una specifica istanza di un entità può non essere specificato. Nello schema di Figura 2.3, l utilizzo di un attributo data di nascita di tipo opzionale, indicato da un valore di cardinalità 0:1 (minimo 0, massimo 1) che etichetta l arco che collega l attributo all entità, permette di specificare o meno la data di nascita di uno studente. Attributi derivati. Gli attributi derivati sono degli attributi i cui valori vengono calcolati a partire dai valori di altri attributi. Ad esempio, il valore dell attributo età di un entità persona può essere derivato a partire dal valore dell attributo data di nascita. Graficamente, gli attributi derivati vengono rappresentati come in Figura 2.4, con un ellisse tratteggiata e la regola di derivazione accanto. La chiave di un entità è definita come un insieme di attributi che identificano univocamente ogni istanza dell entità. Nel caso dell entità studente di Figura 2.3 l attributo matricola sottolineato è l attributo chiave, ovvero un valore univoco che identifica ciascuna delle istanze dell entità (ogni studente è identificato univocamente dal suo numero di matricola). Figura 2.4: Esempio di attributo derivato

2.1. I COSTRUTTI DEL MODELLO E/R 15 Figura 2.5: Relazione tra professore e dipartimento 2.1.3 Relazione Le relazioni sono il secondo tassello fondamentale del modello E/R. Rappresentano legami tra due o più entità, rilevanti dal punto di vista dell applicazione. Immaginando di aggiungere un entità dipartimento, con attributi nome e sede, l informazione, espressa nello schema precedente dall attributo dipartimento dell entità professore (vedi Figura??), può essere espressa da una relazione afferisce, come mostrato in Figura 2.5. Tale relazione definisce un legame tra le istanze delle entità professore e dipartimento. Ad ogni relazione sono associati dei vincoli di cardinalità e di partecipazione che l istanza della relazione deve rispettare. Nell esempio di Figura 2.5 i vincoli impongono che ogni professore afferisca a ad un unico dipartimento (minimo 1, massimo 1) e che ogni dipartimento abbia uno o più professori che vi afferiscono (minimo 1, massimo N). In Figura 2.6 vengono riportati i diversi casi di vincoli di cardinalità e di partecipazione. È possibile associare attributi anche alle relazioni, nello stesso modo in cui vengono associati alle entità. Inoltre, è possibile definire relazioni che coinvolgono più di due entità, come mostrato in Figura 2.7. Questo diagramma modella un esempio di relazione nella quale un fornitore può fornire un certo numero di componenti ad un certo numero di progetti. 2.1.4 Entità debole Un entità si definisce debole se non è possibile effettuare un identificazione univoca di ogni sua istanza basandosi unicamente sul valore di uno o più attributi. Nello schema mostrato in Figura 2.8 sono presenti le entità albergo, con at-

16 CAPITOLO 2. IL MODELLO E/R Figura 2.6: Vincoli di cardinalità e di partecipazione

2.1. I COSTRUTTI DEL MODELLO E/R 17 Figura 2.7: Relazione multipla Figura 2.8: Esempio di entità debole tributo chiave nome, e camera, con attributo numero. In questo caso, dato che due camere, di due diversi alberghi, possono avere lo stesso numero, per identificare univocamente una camera serve, oltre al numero, anche il nome dell albergo. Tale identificazione è resa possibile della relazione in, che associa ad ogni camera uno ed un solo albergo. In questo caso, la relazione in si definisce identificante. 2.1.5 La relazione di specializzazione Negli anni successivi all introduzione del modello E/R sono state proposte diverse estensioni, una delle quali ha introdotto, con particolare successo, il costrutto di specializzazione. Le specializzazioni La relazione si specializzazione permette di definire, a partire da una entità padre (o superclasse), delle entità figlie (o sottoclassi) che ereditano dalla prima

18 CAPITOLO 2. IL MODELLO E/R tutti gli attributi e le relazioni. Alle entità figlie si possono poi aggiungere degli attributi e delle relazioni specifiche. Ad esempio, in Figura 2.9 è una entità persona, la cui chiave è il codice fiscale, con due specializzazioni (bambino ed adulto) differenziate dal fatto che l entità adulto possiede l attributo tessera elettorale, che ogni adulto ha ma che un bambino non possiede. In questo caso, la specializzazione risulta totale e disgiunta: Figura 2.9: Esempio di specializzazione totale disgiunta tutte le persone sono o bambini (sotto i 18 anni) o adulti (sopra i 18 anni); allo stesso modo, ogni istanza dell entità persona deve essere istanza di una ed una sola delle due sottoclassi. Graficamente, come mostrato in Figura 2.9, la disgiunzione è rappresentata inserendo una d all interno del cerchio ed il vincolo di specializzazione totale riempiendo lo spazio tra le due linee che collegano l entità padre a tale cerchio. In modo più dettagliato, possiamo suddividere le specializzazioni sulla base di quattro diverse tipologie: 1. specializzazione totale disgiunta, quando tutte le istanze dell entità padre devono essere istanze di una ed una sola entità figlia (come nell esempio precedente); 2. specializzazione totale con sovrapposizione, quando tutte le istanze dell entità padre devono essere istanza di almeno una delle entità figlie (possono esistere delle istanze appartenenti a più entità figlie, ad esempio una persona può essere sia lavoratore sia studente);

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 19 Figura 2.10: Tipi di specializzazione 3. specializzazione parziale disgiunta, quando ogni istanza dell entità padre può essere istanza di al più una entità figlia (può anche non appartenere ad alcune delle entità figlie); 4. specializzazione parziale con sovrapposizione, quando ogni istanza dell entità padre può essere istanza di una, più di una o nessuna entità figlia. 2.2 Il modello spazio-temporale ChronoGeoGraph Per la costruzione di schemi concettuali per basi di dati spazio-temporali, adotteremo il modello ChronoGeoGraph. Tale modello estende il modello GeoGraph, un modello E/R esteso con primitive per la descrizione di informazioni spaziali proposto in [12], con un insieme di costrutti per la modellazione di informazioni temporali. Una descrizione dettagliata di ChronoGeoGraph è fornita in [3]. In tale modello alcune delle notazioni grafiche precedentemente descritte assumono alcune variazioni, in particolare:

20 CAPITOLO 2. IL MODELLO E/R Figura 2.11: Notazione per le specializzazioni in ChronoGeoGraph la nuova notazione prevede la segnalazione della cardinalità dell attributo sulla linea di collegamento tra l entità e quest ultimo, anche per gli attributi multivalore ([1:N] o [0:N] se l attributo è anche opzionale), al posto della rappresentazione classica; cambia la rappresentazione grafica delle specializzazioni come riportato in Figura 2.11. Di seguito vengono introdotti i costrutti proposti dall estensione ed il loro utilizzo. 2.2.1 Estensione spaziale Questa estensione riprende in gran parte le notazioni e le strutture descritte in [12] e in [13] ma il modello di riferimento continua ad essere quello introdotto in [3]. Entità georeferenziate Definizione 2.1 Le entità georeferenziate sono particolari entità aventi un attributo geografico, ovvero nelle quali uno degli attributi descrive la geometria che si associa all entità stessa come descrizione geografica di quest ultima. Ciò permette di modellare entità georeferenziate (o spaziali), ossia entità che rappresentano oggetti di cui interessa memorizzare la locazione geografica; tali

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 21 entità sono associate ad una precisa forma geometrica [12]. Nel modello ChronoGeoGraph le entità georeferenziate sono rappresentate, Figura 2.12: L entità georeferenziata regione come mostrato in Figura 2.12, introducendo, nel rettangolo dell entità, l icona della forma geometrica di riferimento. L esempio considera il caso di un entità regione con quattro attributi: nome, che ne è chiave, data di costituzione, capoluogo, e geometria, con dominio multipoligono, indicata dall icona posta sopra il nome dell entità. In Figura 2.13 sono riportati i diversi tipi di entità georeferenziate che possono essere utilizzate nei diagrammi ChronoGeoGraph. Il fatto di vedere la geometria come un tipo particolare di attributo ha due importanti conseguenze: la geometria può essere la chiave di una entità, per rappresentare tale caso racchiuderemo l icona della geometria all interno di un quadrato nero; vi possono essere entità puramente geografiche, aventi quale unico attributo la loro geometria. Relazioni topologiche Definizione 2.2 Una relazione topologica è una relazione spaziale caratterizzata dalla proprietà di essere invariante rispetto a trasformazioni topologiche quali la traslazione, la rotazione e la variazione del rapporto di scala [6].

22 CAPITOLO 2. IL MODELLO E/R Figura 2.13: Tipi di entità georeferenziate Date due entità georeferenziate A e B, l insieme completo e minimale delle possibili relazioni topologiche tra A e B è il seguente [5]: 1. A e B sono disgiunti; 2. A tocca B; 3. A è uguale a B; 4. A contiene B; 5. A è contenuto in B; 6. A copre B; 7. A è coperto da B; 8. A e B si sovrappongono con i bordi disgiunti; 9. A e B si sovrappongono con intersezione dei bordi. Come si può notare, queste nove relazioni possono essere ridotte a sette, dato che A è contenuto in B si può riformulare come B contiene A e A è coperto da B si può riformulare come B copre A. Dunque, i sette tipi di relazioni topologiche tra due entità georeferenziate, le cui icone sono mostrate in Figura 2.14, sono le seguenti: 1. disgiunzione; 2. adiacenza;

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 23 3. uguaglianza; 4. inclusione; 5. copertura; 6. sovrapposizione con bordi disgiunti; 7. sovrapposizione con intersezione dei bordi. Figura 2.14: Tipi di relazioni topologiche Vediamo un esempio di definizione di una relazione topologica tra due entità georeferenziate. Immaginiamo di voler modellare gli stati e le loro città situate. Una possibile scelta è modellare gli stati come entità georeferenziate di tipo MULTI- POLYGON e le città come entità di tipo POINT. Tra le due entità intercorre la relazione topologica di inclusione. Ogni stato può contenere nessuna o molte città, ogni città è situata in esattamente uno stato. Il diagramma che modella questo semplice esempio è mostrato in Figura 2.15. In [10], si evidenzia come non tutte le relazioni topologiche che possono intercorrere tra le geometrie di due entità abbiano un significato; solo un sottoinsieme di esse può considerarsi semanticamente corretto. Tale sottoinsieme dipende dal tipo di entità geometriche coinvolte nella relazione topologica. L esempio di seguito riportato consentirà di mettre meglio a fuoco la questione. Si considerino due oggetti geometrici di tipo poligono e punto, rispettivamente e si consideri la relazione topologica contiene applicata alla coppia ordinata (poligono, punto). Il significato della relazione topologica è: ogni poligono contiene un certo numero di punti.

24 CAPITOLO 2. IL MODELLO E/R Figura 2.15: Esempio di relazione topologica Si consideri la stessa relazione applicata alla coppia ordinata (punto, poligono). In questo caso si ottiene la semantica seguente: ogni punto contiene un certo numero di poligoni. Risulta chiaro che la prima relazione spaziale ha un significato. Ha, infatti, senso chiedersi se un punto è o non è contenuto in un poligono. Viceversa, nel secondo caso, la stessa relazione topologica è priva di ogni significato. Non ha senso chiedersi se un punto contiene un poligono perché è geometricamente impossibile che un punto possa contenere un poligono. Una tale possibilità deve essere strutturalmente esclusa dal modello concettuale. Inoltre, alcune relazioni topologiche risultano essere ridondanti. Ad esempio, le relazioni spaziali di adiacenza e copertura sono ridondanti quando vengono applicate alla coppia ordinata (poligono, punto). Infatti, entrambe le relazioni rappresentano lo stesso legame topologico: il punto si trova sul bordo del poligono. La scelta di ChronoGeoGraph di non eliminare le relazioni ridondanti facilita l utente che in questo modo non deve ricordare quali particolari relazioni sono permesse tra due entità e quali no. Le entità georeferenziate che possono imporre delle restrizioni alle relazioni topologiche che le coinvolgono sono: point, multipoint, line, multiline, polygon e multipolygon. I tipi geometrici collection e other geometry non impongono alcuna condizione sulle relazioni. Ciò è dovuto al fatto che non si conosce a priori la tipologia delle istanze di tali entità. Le Tabelle 2.1 e 2.2 mostra le relazioni topologiche permesse, suddivise in base alla tipologia delle coppie ordinata di entità georeferenziate. Per una descrizione dettagliata di tutte le possibili configurazioni si rimanda a [5].

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 25 Tabella 2.1: Le relazioni topologiche in ChronoGeoGraph (parte 1) Entità geometriche Relazioni topologiche possibili 1 a 2 a POINT disgiunzione, uguaglianza LINE disgiunzione, adiacenza POINT POLYGON disgiunzione, adiacenza MULTIPOINT disgiunzione, adiacenza, uguaglianza MULTILINE disgiunzione, adiacenza MULTIPOLYGON disgiunzione, adiacenza POINT disgiunzione, inclusione LINE tutte LINE POLYGON disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTIPOINT disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTILINE tutte MULTIPOLYGON disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi POINT disgiunzione, adiacenza, inclusione LINE disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi POLYGON POLYGON tutte MULTIPOINT disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTILINE disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTIPOLYGON tutte

26 CAPITOLO 2. IL MODELLO E/R Tabella 2.2: Le relazioni topologiche in ChronoGeoGraph (parte 2) Entità geometriche Relazioni topologiche possibili 1 a 2 a POINT disgiunzione, adiacenza, uguaglianza, copertura LINE disgiunzione, adiacenza MULTIPOINT POLYGON disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTIPOINT disgiunzione, adiacenza, uguaglianza, inclusione, copertura, sovrapposizione con intersezione dei bordi MULTILINE MULTIPOLYGON disgiunzione, adiacenza disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi POINT disgiunzione, inclusione LINE tutte MULTILINE POLYGON disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi MULTIPOINT MULTILINE MULTIPOLYGON POINT LINE MULTIPOLYGON POLYGON tutte MULTIPOINT MULTILINE MULTIPOLYGON disgiunzione, adiacenza, inclusione tutte disgiunzione, adiacenza, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi disgiunzione, adiacenza, inclusione disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi disgiunzione, adiacenza, inclusione, copertura, sovrapposizione con bordi disgiunti, sovrapposizione con intersezione dei bordi tutte

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 27 Specializzazione cartografica La specializzazione (o generalizzazione) cartografica è stata introdotta in [12] per modellare variazioni di forma o di scala di un entità georeferenziata. Definizione 2.3 La generalizzazione cartografica è utilizzata per rappresentare un entità (superclasse) che può essere definita secondo forme diverse rispetto alla stessa scala o a scale diverse. Le sottoclassi possiedono forme geometriche che differiscono da quelle della superclasse, ma ereditano gli attributi alfanumerici della superclasse. La primitiva di generalizzazione cartografica è un caso particolare di generalizzazione che consente di catturare rappresentazioni multiple di un oggetto e di caratterizzare le relazioni topologiche associate alle varie rappresentazioni. La forma con la quale è rappresentata un entità influenza, infatti, i tipi di relazione topologica cui può partecipare. La notazione adottata per la generalizzazione cartografica si distingue da quella della generalizzazione generica per la presenza di un quadrato, e non di un triangolo, quale collegamento tra una superclasse e le sue sottoclassi. La generalizzazione cartografica può essere di due tipi: basata su variazioni di forma o basata su variazioni di scala. La variazione di forma è utilizzata per rappresentare diverse possibili forme geometriche di una stessa entità alla stessa scala. La descrizione geometrica della superclasse si deduce a partire dalle sue sottoclassi. Un esempio è dato dall entità cimitero, che può essere rappresentata da un poligono, che definisce l area occupata dal cimitero, e dal simbolo cartografico delle croci (vedi Figura 2.16). La specializzazione basata sulla variazione di scala è utilizzata per rappresentare diverse forme geometriche di una stessa entità rispetto a scale diverse. Ad esempio, una città può essere rappresentata da un poligono in una scala più fine e da un punto in una scala più grossolana. Entrambi i tipi di specializzazioni cartografiche sono sempre totali e con sovrapposizione: totali perchè ogni istanza della superclasse deve essere istanza di

28 CAPITOLO 2. IL MODELLO E/R almeno una sottoclasse per essere georeferenziata, con sovrapposizione perché, in entrambi i tipi di specializzazione cartografica, ogni istanza della superclasse può avere forme alternative di rappresentazione, che potranno essere visualizzate singolarmente, nel caso della specializzazione basata sulla variazione di scala, o contemporaneamente, nel caso della specializzazione basata sulla variazione di forma. Figura 2.16: Esempi di specializzazione cartografica Aggregazione spaziale In [12] si introduce anche la nozione di aggregazione spaziale. Definizione 2.4 Un aggregazione spaziale permettono associa due o più (istanze di) entità georeferenziate - parti - ad una (istanza di) entità georeferenziata - intero - in cui la geometria di ogni parte è interamente contenuta nella geometria dell intero. Inoltre, non è permessa sovrapposizione fra le parti, e la geometria dell intero è pienamente coperta dalla geometria delle parti. (L insieme delle parti costituisce una parte dell intero.) Un esempio di aggregazione spaziale è riportato in Figura 2.17. Un entità georeferenziata regione di tipo poligono può essere modellata come un aggregazione spaziale di istanze, sempre di tipo poligono, dell entità georeferenziata provincia. Ciò significa che ogni istanza di regione è descritta da una geometria, la quale può essere partizionata nelle geometrie delle corrispondenti istanze dell entità provincia.

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 29 Poichè risulta geometricamente impossibile concepire che, ad esempio, una geo- Figura 2.17: Esempio di aggregazione spaziale metria di tipo punto sia composta da un insieme di poligoni, anche a questo tipo di aggregazioni sono stati imposti dei vincoli. Le regole per stabilire la validità di una aggregazione spaziale tra due entità georeferenziate sono specificate dai punti seguenti: un entità di tipo Point non può mai rappresentare un aggregazione di altre entità georeferenziate, poichè ha dimensione zero; un entità di tipo Multipoint può essere definita come l unione geometrica di entità di tipo Point o Multipoint; un istanza dell entità Line può essere formata da altre istanze dello stesso tipo geometrico, di cui risulta essere l aggregazione; un entità Multiline può essere definita come aggregazione spaziale di entità di tipo Multiline o Line; un istanza dell entità Polygon può essere suddivisa solo in istanze dello stesso tipo; un entità Multipolygon può essere definita come aggregazione spaziale di entità di tipo Polygon e Multipolygon. Poichè le entità di tipo Collection e Other Geometry comprendono istanze di cui non è possibile conoscere a priori la forma e la dimensione geometrica, le aggregazioni spaziali che coinvolgono tali entità sono considerate sempre valide [12]. In [13], vengono aggiunte al modello altre tipologie di aggregazione: l aggregazione fra entità non georeferenziate (aggregazione non spaziale) e l aggregazione semantica.

30 CAPITOLO 2. IL MODELLO E/R L aggregazione non spaziale rappresenta una relazione parte/intero fra due o più entità la quale specifica che un entità intero è composta da una o più entità parte (anche di natura eterogenea). È possibile indicare dei vincoli di cardinalità sulla partecipazione delle parti all aggregazione. È possibile, ad esempio, specificare che una squadra di baseball deve essere composta da almeno 9 e al più 15 giocatori, da esattamente un allenatore ed, eventualmente da un assistente, come mostrato in Figura 2.18. Inoltre, in ChronoGeoGraph l aggregazione può svolgere il ruolo di Figura 2.18: Esempio di aggregazione relazione identificante. L aggregazione semantica è un particolare tipo di aggregazione spaziale molto flessibile che non deve necessariamente rispettare i vincoli precedentemente descritti. Essa consente di codificare aggregazioni particolari, quali aggregazioni in la somma delle geografia delle istanze delle entità parte è solamente inclusa nella geometria dell istanza intero. Tale tipo di aggregazione è trattato estesamente in [8]. Campi Utilizzare gli oggetti geografici quale unico strumento per modellare le informazioni spaziali è insufficiente. Esistono, infatti, proprietà dello spazio che sono

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 31 indipendenti da un qualsivoglia oggetto esistente o definibile dall uomo. Associare un oggetto spaziale a concetti quali la temperatura o l altitudine è una forzatura [3]. Per modellare tali informazioni è stata proposta la cosiddetta visione a campi. La visione a campi non vede lo spazio come una superficie occupata da vari oggetti, ma come superficie continua. Definizione 2.5 La visione a campi rappresenta lo spazio come una superficie continua sulla quale le entità georeferenziate variano in modo continuo. Per modellare un campo specifica il suo territorio di schema (vedi 2.6) o l entità georeferenziata cui è collegato ed il tipo di campionamento effettuato (campionamento irregolare di punti, campionamento regolare di punti, isolinee, poligoni, griglia regolare di celle, o rete triangolare irregolare). Graficamente, l arco utilizzato per indicare l appartenenza di un campo ad un entità georeferenziata o ad un territorio di schema termina con un cerchietto nero sul lato del territorio di schema/entità (vedi Figura 2.21). I campi possono essere utilizzati per definire delle quantità derivate per le entità Figura 2.19: Tipi di campionamento georeferenziate. Ad esempio, è possibile tenere traccia la temperatura media sui vari punti della superficie definita della geometria delle istanze di una particolare entità. Tali quantità sono assimilabili ad attributi derivati e, di fatto, sono determinati da una funzione del campo, il cui dominio è delimitato dalla geometria dell entità. Il valore della funzione viene calcolato solo sui dati campionati

32 CAPITOLO 2. IL MODELLO E/R Figura 2.20: Esempio di operatore derivato da un campo all interno della geometria dell entità. La notazione prevede che l operatore sia rappresentato come un attributo derivato di un entità georeferenziata, seguito da una linea verticale e dalla funzione da calcolare sul campo. Gli operatori disponibili per il calcolo di tali attributi derivati dipendono dal dominio del campo e sono riportati, suddivisi per dominio, in Tabella 2.3. In Figura 2.20 è fornito un esempio di tale struttura. Tabella 2.3: Possibili operatori per attributi derivati legati a campi Operatore Dom. numerico Dom. data e ora Dom. testuale Dom. booleano > Massimo Più recente < Minimo Meno recente AVG Media Più frequente Meno frequente Σ Sommatoria Π Produttoria Congiunzione Disgiunzione Disg. Esclusiva Territorio di schema Definizione 2.6 Il territorio di schema rappresenta il dominio spaziale della base di dati e la sua geometria include quella di tutte le entità georeferenziate e di

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 33 Figura 2.21: Esempio di territorio di schema tutte le aree di campionamento dei campi definiti nello schema. Un territorio di schema è, dunque, un entità georeferenziata particolare, priva di chiave, la cui unica istanza corrente ammissibile definisce il dominio spaziale dello schema nel quale una o più entità georeferenziate e uno o più campi vengono definiti. Tutte le entità georeferenziate e tutti i campi devono appartenere al territorio di schema. Questa definizione modella implicitamente una relazione topologica di inclusione fra entità georeferenziate e il territorio di schema. Inoltre, indica che il campionamento di un dato campo è limitato al territorio di schema cui il campo appartiene. Dal punto di vista grafico, come mostrato in Figura 2.21, il territorio di schema è rappresentato tramite un rettangolo con un icona sopra il nome, il quale è sempre preceduto dalla sigla TS tra parentesi quadre. 2.2.2 Estensione temporale Prima di descrivere i costrutti messi a disposizione da ChronoGeoGraph per la modellazione concettuale di basi di dati temporali e spazio-temporali, introdu-

34 CAPITOLO 2. IL MODELLO E/R ciamo alcuni concetti fondamentali. Definizione 2.7 Il chronon è il più breve intervallo di tempo supportato dal sistema [18]. Sulla base della nozione di chronon, il dominio temporale di una base di dati (temporale) può essere visto come una serie di punti equidistanti disposti su un asse (tempo discreto ). Un istante è un singolo punto od un singolo chronon [18]. Un evento è associato ad un istante t se è accaduto durante il chronon che rappresenta t [18]. Figura 2.22: Chronon, istante ed evento Definizione 2.8 Un intervallo finito è il tempo che intercorre tra due eventi e può essere descritto come una successione finita di chronon, o istanti. Solitamente l intervallo è rappresentato dai suoi due istanti estremi. [18] Definizione 2.9 Il tempo di validità (VT, o valid time) di un fatto è l intervallo di tempo durante il quale il fatto è vero nella realtà modellata [9]. Definizione 2.10 Il tempo di esistenza (existence time) di un oggetto è l intervallo di tempo durante il quale l oggetto esiste. Equivalentemente, il tempo di esistenza di un oggetto può essere definito come l intervallo di validità del fatto l oggetto esiste. Il tempo di esistenza è stato definito anche come valid-time lifespan [19]. Il significato del tempo di esistenza è simile a quello del tempo di validitàssociato agli attributi di un entità, e semanticamente serve a mantenere informazioni sull esistenza di un entità all interno dell universo modellato (esiste/non

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 35 esiste). Il tempo di esistenza, da solo, non cattura tuttavia alcuni aspetti importanti del ciclo di esistenza di un oggetto. È possibile, ad esempio, che l utente della base di dati voglia modellare tutti i possibili stati in cui si può trovare un oggetto durante l arco di tempo preso in considerazione[3]. In modo più generale, il lifespan di un entità può essere definito come una funzione dal dominio temporale ad un insieme di stati. Tali stati descrivono le varie situazioni in cui l entità può trovarsi nel corso della sua esistenza. L entità può passare da uno stato all altro secondo regole definite. Definizione 2.11 Il tempo dell evento (ET, o event time) di un fatto è il tempo di occorrenza di un evento del mondo reale che inizia o termina l intervallo di validità del fatto. Definizione 2.12 Il tempo di transazione (TT, o transaction time) di un fatto è l intervallo di tempo durante il quale il fatto è corrente nella base di dati e può essere recuperato [9]. Definizione 2.13 Il tempo di disponibilità (AT, o availability time) di un fatto è l intervallo di tempo durante il quale il fatto é conosciuto e ritenuto corretto dal sistema informativo cui la base di dati appartiene [7]. ChronoGeoGraph fornisce ai diversi costrutti due tipi di supporto temporale, che variano al variare del tipo di costrutto (entità, attributo, relazione, aggregazione o campo). Il supporto fornito alle entità comprende: lifespan; tempo di transazione; tempo dell evento; tempo di disponibilità. Il supporto relativo ad attributi, relazioni, aggregazioni e campi comprende: tempo di validità; tempo di transazione;

36 CAPITOLO 2. IL MODELLO E/R tempo dell evento; tempo di disponibilità; In modo più formale, le dimensioni temporali associate ai vari costrutti possono essere specificate nel seguente modo. Nel caso delle entità si ha: < entitytime >::= ɛ < lifespan > < lifespan > / < transactiontime > < lifespan > / < eventtime > < lifespan > / < transactiontime > < lifespan > / < transactiontime > / < eventtime > < lifespan > / < transactiontime > / < availabilitytime > < lifespan > / < transactiontime > / < eventtime > / < availabilitytime > < transactiontime > / < availabilitytime > Nel caso degli attributi, delle relazioni, delle aggregazioni ed dei campi si ha: < facttime >::= ɛ < validtime > < validtime > / < transactiontime > < validtime > / < eventtime > < validtime > / < transactiontime > < validtime > / < transactiontime > / < eventtime > < validtime > / < transactiontime > / < availabilitytime > < validtime > / < transactiontime > / < eventtime > / < availabilitytime > < transactiontime > / < availabilitytime > Lifespan Il lifespan indica lo stato in cui si trova l oggetto del mondo reale che si vuole descrivere. Per tale ragione la sua definizione comprende la specifica di un diagramma di stati. In mancanza di una definizione esplicita viene associato all oggetto un diagramma predefinito (mostrato in Figura 2.23). La notazione utilizzata è la seguente: < lifespan >::= LS LS <diagram> In Figura 2.24 è riportato un esempio di entità con lifespan.

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 37 Figura 2.23: Diagramma a stati predefinito Tempo di validità Il tempo di validità può essere associato a relazioni, aggregazioni, campi, attributi e collezioni di attributi. La notazione utilizzata è la seguente: < validtime >::= V. L unica restrizione imposta è che gli attributi facenti parte della chiave non possono avere un tempo di validità poichè devono descrivere univocamente l identità dell istanza e il loro valore non può variare nel tempo[3] (o, equivalentemente, hanno un intervallo di validità che copre l intero lifespan dell entità). Tempo di transazione Il tempo di transazione può essere associato ad entità, relazioni, aggregazioni, campi, attributi e collezioni di attributi. Nel caso delle entità, come mostrato in Figura 2.26, si fa riferimento al tempo di transazione del lifespan dell entità stessa. La notazione utilizzata è la seguente: < transactiontime >::= T. Come nel caso del tempo di validità, anche il tempo di transazione non può essere associato ad attributi chiave o ad altri attributi invarianti nel tempo [3].

38 CAPITOLO 2. IL MODELLO E/R Figura 2.24: Esempio di entità con lifespan Tempo dell evento e tempo di disponibilità il tempo dell evento e il tempo di disponibilitá possono essere associate ad entità, collezioni di attributi, relazioni, aggregazioni e campi. La notazione utilizzata è la seguente: < eventtime >::= E < avaieabilitytime >::= A. Mentre un entità ammette il tempo dell evento solo se è temporale (cioè dotata di lifespan). Una collezione, una relazione, un campo, e un territorio di schema possono ammettere il tempo dell evento solo se hanno associato un tempo di validità. Un oggetto può ammettere il tempo di disponibilità solo se ha associato un tempo di transazione. [3] Eventi Il costrutto Evento, introdotto in [2], è collegato ad un oggetto dello schema tramite un arco etichettato in modo particolare. Gli eventi assumono diversi significati a seconda del tipo di oggetto cui sono collegati e del tipo di etichetta presente sull arco. Qualora l oggetto, cui l evento è collegato, sia una collezione temporale, una relazione o un campo, l etichetta è una lista di simboli (indicatori di evento), sottoinsieme di {ET i, ET t, AT i, AT t, dove: ET i indica che l evento determina l inizio del periodo di validità; ET t indica che l evento determina la fine del periodo di validità;

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 39 Figura 2.25: Esempio di attributi e collezione di attributi con tempo di validità AT i indica che l evento coincide con l istante iniziale del periodo di disponibilità dei fatti associati al lifespan di un entità o associati ad una collezione temporale, una relazione, un campo, o un territorio di schema; AT t indica che l evento coincide con l istante finale del periodo di disponibilità dei fatti associati al lifespan di un entità o associati ad una collezione temporale, una relazione, un campo, o un territorio di schema. Qualora si tratti di un evento collegato ad un entità temporale E che utilizza un diagramma degli stati, gli indicatori di evento sono un sottoinsieme di {σ 1 σ 2 σ 1, σ 2 {AT i, AT t dove: un indicatore nella forma σ 1 σ 2 indica che l evento determina il passaggio dell entità E dallo stato σ 1 allo stato σ 2 ; AT i e AT t indicano che l evento coincide con l istante iniziale o finale del periodo di disponibilità dei fatti associati alle informazioni registrate nella base di dati. Si noti che se ad un entità, una collezione, una relazione, una aggregazione, un campo o un territorio di schema non è associato un tempo di validità, allora non vi possono essere eventi, relativi al tempo dell evento, associati ad uno di tali costrutti; inoltre, a nessun oggetto che non ammetta il tempo di transazione può può essere associato un evento relativo al tempo di disponibilità. [3]

40 CAPITOLO 2. IL MODELLO E/R Figura 2.26: Esempio di entità e collezione di attributi con tempo di transazione Relazioni di sincronizzazione In questo paragrafo ci limiteremo ad indicare quali tipi di relazioni di sincronizzazione sono supportati dal modello ChronoGeoGraph, evitando una discussione approfondita che il lettore può trovare in [3]. Le relazioni di sincronizzazione sono dei vincoli definibili tra gli intervalli di attività, o tra gli istanti iniziali e/o finali di tali intervalli, di due entità. Nel modello ChronoGeoGraph sono previsti tredici tipi di relazioni di sincronizzazione, mostrati in Figura 2.29. Ad esempio, si consideri una relazione di sincronizzazione fra l entità Sovraccarico e l entità Attenuazione nella gestione di una base di dati per un impianto termonucleare. Si vuole che l azione di controllo sulla temperatura del nocciolo sia avviata prima dell effettivo insorgere di un sovraccarico; e si vuole che le barre di carbonio aggiuntive vengano tolte non prima che la situazione di sovraccarico sia rientrata [3]. La Figura 2.30 mostra la situazione descritta dall esempio. È importante sottolineare come le relazioni di sincronizzazione non possano essere temporali.

2.2. IL MODELLO SPAZIO-TEMPORALE CHRONOGEOGRAPH 41 Figura 2.27: Tempo dell evento e tempo di disponibilità delle collezioni di attributi e del lifespan delle entità Figura 2.28: Tempo dell evento e tempo di disponibilità delle relazioni

42 CAPITOLO 2. IL MODELLO E/R Figura 2.29: Tipi di relazioni di sincronizzazione Cardinalità snapshot e lifespan La cardinalità definita nella parte relativa agli schemi E/R (vedi sezione 2.1.3) può essere definita come cardinalità snapshot. Accanto ad essa è stata introdotta la nozione di cardinalità lifespan (vedi [3]). Gli attributi delle entità temporali possono avere una cardinalità lifespan, che rappresenta il minimo e il massimo numero di valori che possono assumere nell arco di vita dell entità. Per annotare un attributo definendo i vincoli di cardinalità lifespan si introduce la coppia [min:max] dove min e max sono il minimo e il massimo numero di valori che l attributo può assumere nell arco di vita dell entità. Se non indicata, la cardinalità lifespan è per definizione [0:M]. Devono valere le seguenti disuguaglianze min ls = min ss max ss max ls (dove le annotazioni ls e ss a pedice rappresentano, rispettivamente, la cardinalità lifespan e snapshot). La distinzione tra cardinalità snapshot e cardinalità lifespan si applica naturalmente a relazioni ed aggregazioni temporali. La cardinalità snapshot specifica un vincolo sul numero massimo e minimo di istanze di relazione cui ogni istanza di un entità coinvolta nella relazione può partecipare in un dato istante di tempo. La cardinalità lifespan specifica un vincolo di partecipazione sul numero massimo e minimo di istanze di relazione a cui ogni istanza dell entità può partecipare nel tempo. In Figura 2.31 è mostrato un esempio di relazione con cardinalità lifespan.