Progetti di Basi di dati • Progetti “standard” • Progetti con eventuale proseguimento nel progetto di sistemi informativi • Progetti con eventuale proseguimento in prova finale Progetti standard 1. Beni culturali Progettare la base di dati on line delle opere conservate in diversi musei. I musei interessati mettono a disposizione le proprie informazioni sulle opere in possesso. 2. Agenzia di viaggi Si supponga di voler costruire la base di dati che permetta di pianificare un viaggio combinando i vari aspetti che un viaggio comporta. A tali fine il sistema integra informazioni quali per esempio quelle di compagnie aeree, prenotazione alberghi, treni. 3. Sanità Si supponga di voler progettare la base di dati di un medico di base, con selezione da parte del medico del laboratorio, studio o ospedale in cui mandare un paziente per esami o visite specialistiche, con relative prenotazioni, memorizzazione dei referti delle visite e degli esami di laboratorio. Progetti standard 4. Catasto strade Il Sistema Informativo Strade è un sistema informativo geografico distribuito, che deve integrare una serie di sistemi informativi, alcuni dei quali già esistenti, altri ancora da implementare. I dati che si riferiscono alla rappresentazione geometrica della rete stradale costituiscono il grafo stradale. In questo sistema occorrerà mettere in relazione tra di loro le diverse informazioni afferenti alla rete stradale in possesso di enti diversi: il Catasto stradale, contenente le strade (come archi di un grafo), i nomi delle vie, lo schema di circolazione, le funzioni che le strade ricoprono ai fini viabilistici (es. principali e secondarie); le informazioni su pavimentazione, marciapiedi, spartitraffico, numero di carreggiate e corsie, etc. Esiste un Catasto Segnaletica, che classifica e registra tutta la segnaletica cittadina; occorre integrare poi le informazioni su eventi locali, come cantieri, etc. che possono avere un’influenza sul traffico cittadino in determinati giorni e a determinate ore; queste ultime informazioni sono in possesso della Banca dati cantieri. Progetti standard 5. Lavoro Si vuole progettare una base di dati per supportare il servizio di incontro domanda offerta di lavoro analizzando le competenze lavorative presenti in un curriculum e le offerte di lavoro presenti all’interno dei vari centri per l’impiego provinciali e degli enti accreditati. 6. Tema libero Sulla base delle tracce sopra descritte è possibile presentare un lavoro a tema libero di complessità paragonabile. Progetti integrati con quello di Sistemi Informativi • Tali progetti possono essere il proseguimento di quelli detti prima, ma con un’attenzione ai SERVIZI Progetti integrati con quello di Sistemi Informativi 1A Beni culturali Gestione della segnalazione di emergenze per interventi su opere in siti archeologici, sulla base di conoscenze disponibili sulle opere, il loro stato di conservazione e la loro importanza in una base di dati. Organizzazione degli interventi in ambiente wireless. 2A Turismo Selezione e visualizzazione di percorsi turistici, informazioni e servizi sulla base di profili di utenti, con particolare attenzione a esigenze legate a disabilità o assistenza (per esempio, dialisi). Eventualmente in ambiente wireless con very small databases. 3A. Sanità Si supponga di voler fornire un processo di gestione di visite mediche specialistiche, con selezione da parte del medico curante del laboratorio in cui la visita e’ effettuabile nel piu’ breve tempo possibile, con relativa prenotazione, con eventuali sincronizzazioni o sequenziazioni di diversi esami (workflow), con servizi di elaborazione dei referti per i laboratori e invio automatico dei risultati al medico curante. Progetti integrati con quello di Sistemi Informativi 4A. Catasto strade Il Sistema Informativo Strade è un sistema informativo geografico distribuito, che deve integrare una serie di sistemi informativi, alcuni dei quali già esistenti, altri ancora da implementare. I dati che si riferiscono alla rappresentazione geometrica della rete stradale costituiscono il grafo stradale. In questo sistema occorrerà mettere in relazione tra di loro le diverse informazioni afferenti alla rete stradale in possesso di enti diversi: il Catasto stradale, contenente le strade (come archi di un grafo), i nomi delle vie, lo schema di circolazione, le funzioni che le strade ricoprono ai fini viabilistici (es. principali e secondarie); le informazioni su pavimentazione, marciapiedi, spartitraffico, numero di carreggiate e corsie, etc. Esiste un Catasto Segnaletica, che classifica e registra tutta la segnaletica cittadina; occorre integrare poi le informazioni su eventi locali, come cantieri, etc. che possono avere un’influenza sul traffico cittadino in determinati giorni e a determinate ore; queste ultime informazioni sono in possesso della Banca dati cantieri. Il SIS deve fornire quindi una serie di servizi: restituire informazioni di georeferenziazione e aggancio al grafo in funzione dell'indirizzo toponomastico e/o delle coordinate geografiche; è possibile agganciare al grafo oggetti puntiformi o lineari per mezzo delle progressive. Il Catasto Segnaletica deve ottenere un riferimento al grafo dal SIS per ogni oggetto (segnale) inserito nella banca dati , es. collocazione cartello (ID univoco cartello) all'angolo tra via A e via B; Per contro, il SIS deve poter accedere alle informazioni del CS, ad esempio nelle operazioni di verifica dello schema di circolazione (es. se un arco è a senso unico deve esistere un cartello di divieto di accesso da un lato). Progetti integrati con quello di Sistemi Informativi 5A. Lavoro Sulla base della specifica organizzazione supportare il servizio di incontro domanda offerta analizzando le competenze lavorative presenti in un curriculum e le offerte di lavoro presenti all’interno dei vari centri per l’impiego provinciali e degli enti accreditati. Dato un curriculum ed una offerta di lavoro sufficientemente “vicina” individuare la formazione necessaria a colmare le lacune professionali della persona in cerca di lavoro. 6A. Tema libero Sulla base delle tracce sopra descritte è possibile presentare un lavoro a tema libero di complessità paragonabile. Progetti con eventuale proseguimento in prova finale • Vi sono una serie di argomenti di ricerca nel campo delle basi di dati • In tal caso è richiesta una fase di studio preliminare sull’argomento • Per tale motivo è consigliabile pensare a un proseguimento con la prova finale • Non è obbligatorio: se nonostante tutto ci si vuol fermare prima, si ottiene una valutazione sui 2,5 crediti svolti I Dati Semistrutturati • La struttura spesso è implicita e può essere incompleta; • la conoscenza della struttura può essere parziale; • una struttura eccessivamente rigida, come ad esempio quella delle basi di dati, può essere troppo vincolante; • l'organizzazione dei dati non è vincolata dalla presenza, a priori, di uno schema; • lo schema può avere un alto contenuto informativo, e quindi le interrogazioni sullo schema sono importanti quanto quelle sui dati; • lo schema evolve rapidamente, la sua struttura non è fissa come nelle basi di dati e le modifiche possono essere effettuate facilmente; perciò molte delle differenze tra schema e dati presenti nelle basi di dati scompaiono. Rappresentazione basata su grafi di dati Semistrutturati • Modelli basati su grafi formalismo flessibile per rappresentare la variabilità della struttura age teaches 37 teaches Course age Age name Valori concreti Relazioni Teacher Teacher Database name Name surname value 45 Smith Oggetti astratti eXtensible Markup Language • Formato di file proposto dal W3C per scambiare e distribuire documenti elettronici • Esempi di documenti elettronici: libri, manuali, cataloghi di prodotti, moduli d’ordine, giornali, formule matematiche, messaggi, ... XML - eXtensible Markup Language • Linguaggio per la marcatura di testi derivato da SGML • XML è un metalinguaggio come SGML • Non è il successore di HTML HTML XML • È un linguaggio di presentazione • Non descrive la semantica (il significato) dei dati che compongono una pagina • È un linguaggio per la descrizione dei dati • Permette la definizione di (pseudo)schemi (i DTD) o schemi veri in una versione successiva 2 XML • HTML: insieme fisso di tag • XML: standard per creare linguaggi di markup con tag personalizzati; possono essere usati in qualunque dominio • HTML vs XML <h1> The Idea Methodology </h1> <ul> <li> di S. Ceri, P. Fraternali <li> Addison-Wesley <li> US$ 49 </ul> <book> <title>The Idea Methodology </title> <author> S. Ceri </author> <author> P. Fraternali </author> <ed> Addison-Wesley </ed> <price> US$ 49 </price> </book> Un esempio di documento (rappresentazione grafica) <manufacturer> <mn-name>Mercury</mn-name> <year>1999</year> <model> <mo-name>Sable LT</mo-name> <front-rating>3.84</front-rating> <side-rating>2.14</side-rating> <rank>9</rank> </model> ……… </manufacturer> ….. manufacturer mn-name year Mercury 1999 model rank mo-name Sable LT front-rating side-rating 9 3.84 2.14 Il meta-modello GSMM: Motivazioni • I modelli per dati semistrutturati e XML sono: – troppo specifici per poter essere confrontati facilmente – non supportano una facile progettazione incrementale General Semistructured Meta-Model (GSMM) come formalismo unificante che permette: • Traduzione di modelli diversi con un formalismo unico • Facile confronto tra le caratteristiche dei diversi modelli • Sostituzione del concetto di schema con quello di vincolo Progetto 1: utilizzare GSMM per traduzione tra modelli • Algoritmo per tradurre istanze appartenenti ad un modello origine M in istanze di un modello destinazione M’ (ad esempio, da Plain XML a Infoset) Progetto 2: utilizzare GSMM per specifica di ontologie •Ontologia: è una descrizione formale dei concetti e delle relazioni di una realtà da modellare •Lo scopo del progetto è l’utilizzo del meta-modello per formalizzare una ontologia di dominio: •Determinare il grafo GSMM che rappresenta il modello (basato su grafi) adeguato per formalizzare l’ontologia considerata •Specificare eventuali vincoli Document Type Definition (DTD) • Detta il tipo di un documento, cioè: – i tag ammessi – le regole di annidamento dei tag • Esempio di dichiarazione di un elemento: <!ELEMENT PRODOTTO (DESCRIZIONE, PREZZO)> • L’elemento prodotto contiene al suo interno un elemento descrizione seguito da un elemento prezzo Esempio di DTD <!ELEMENT <!ELEMENT <!ELEMENT <!ELEMENT ELENCO (PRODOTTO+)> PRODOTTO (DESCRIZIONE, PREZZO?)> DESCRIZIONE #PCDATA> PREZZO #PCDATA> <elenco> <prodotto codice=“123kl14”> <descrizione> Forno </descrizione> <prezzo> 1040000 </prezzo> </prodotto> <prodotto codice=“432sd35”> <descrizione> Frigo </descrizione> </prodotto> </elenco> Rappresentazione grafica DTD <!ELEMENT manufacturer (mn-name, year) <!ELEMENT model (mo-name, front-rating, side-rating, rank)> <!ELEMENT mn-name PCDATA> <!ELEMENT year PCDATA> <!ELEMENT mo-name PCDATA> <!ELEMENT front-rating PCDATA> <!ELEMENT side-rating PCDATA> <!ELEMENT rank PCDATA> manufacturer mn-name 1:N year model rank mo-name front-rating side-rating Un esempio di istanza <manufacturer> <mn-name>Mercury</mn-name> <year>1999</year> <model> <mo-name>Sable LT</mo-name> <front-rating>3.84</front-rating> <side-rating>2.14</side-rating> <rank>9</rank> </model> ……… </manufacturer> ….. manufacturer mn-name year Mercury 1999 model rank mo-name Sable LT front-rating side-rating 9 3.84 2.14 Un altro esempio • DTD Rappresentazione <!ELEMENT libro (isbn,titolo?,prezzo,autore +)> isbn <!ELEMENT autore (nome?,cognome)> <!ELEMENT nome PCDATA> <!ELEMENT cognome PCDATA> <!ELEMENT isbn PCDATA> <!ELEMENT titolo PCDATA> <!ELEMENT prezzo PCDATA> libro 1:N prezzo titolo 0:1 autore 0:1 nome Graph Transformation Grafi: rappresentazione formale di modelli – diagrammi: UML (classi, interazione, stato, attività), … – database: E-R – architetture: software, hardware, reti Regole: descrizione di computazioni attraverso trasformazioni locali – aritmetiche – sintattiche – deduzioni cognome Esempio di Regola L R emb label: A TE: I1 label: A TE: I2 K=Ø label: A + I2 TE: I1 U appl=Ø glue=Ø Progetto 3: utilizzare Graph Transformation per ricavare DTD di documenti XML •Capire come rappresentare con un grafo etichettato il DTD di un documento XML •Definire le regole di riscrittura da applicare al documento: •Considerare la cardinalità e i vincoli di elementi e attributi •Possibile implementazione con il software AGG Data Mining •Data Mining area di ricerca che si occupa dello studio di tecniche per estrapolare informazioni implicite, non conosciute ma utili per gli utenti, da basi di dati di grosse dimensioni. •Regola di associazione implicazione valida con una certa frequenza. Ad esempio, con una certa frequenza f, coloro che seguono il genere “gioco a premi” seguono anche gli sceneggiati televisivi. Progetto 4: un formalismo grafico per estrarre informazione intensionale da documenti XML • Studio dell’applicabilità del formalismo dei grafi per la specifica di regole di associazione estratte da documenti XML •Utilizzo di tali regole per fornire informazioni intensionali sul documento XML (senza interrogare il documento) Una risposta intensionale ad una interrogazione è un insieme di “regole” (ad esempio, vincoli, formule logiche, regole di associazione …) che caratterizzare l’insieme di valori che soddisfano l’interrogazione stessa (tale insieme di valori viene comunemente chiamato risposta estensionale). Progettazione ed Interrogazione di synopses XML • Negli ultimi anni l’uso di XML, si è diffuso ad altri tipi di applicazione: – creazione sia di collezioni di documenti XML – creazione linguaggi di interrogazione studiati esplicitamente per interrogare e ristrutturare dati XML • Purtroppo l’interrogazione esatta di vaste collezioni di dati XML richiede elevati tempi di computazione della risposta, specialmente in caso di computazione di interrogazioni aggregate. • Per superare questo problema sono state proposte delle risposte di tipo approssimato, ricavate da riassunti statistici delle collezioni di dati ottenuti tramite istogrammi. L’idea alla base del progetto XML data synopsis <?XML version 1.0?> <doc>......... ................ <doc> <?XML version 1.0?> <doc>......... ................ <?XML version 1.0?> <doc> <doc>......... ................ <doc> XML data collection XQuery transformation <?XML version 1.0?> <doc>......... ................ <?XML version <doc>1.0?> <doc>......... <hist>.......... </hist> ........ <doc> Query transformed to compute the answer using the synopsis <LET $V:=.......> FOR..... RETURN avg_hist(......... ................ XQuery transformation <LET $V:=.......> FOR..... RETURN avg(......... ................ approximate answer Query formulated using XQuery USER Progetti (1) • • Il progetto consiste nell’implementazione di un algoritmo ottimizzato di creazione di istogrammi all’interno di un prototipo di costruttore di synopsi già esistente al fine di migliorarne le prestazioni. L’algoritmo da implementare sarà uno di quelli già esistenti per la basi di dati relazionali, e sarà cura dello/degli studenti curarne l’adattamento ad XML. Il progetto consiste nel testare i prototipi risultanti dal progetto precedente su un benchmark apposito (ad es. la libreria di Brambati e Brambilla) e generare un confronto critico sulle prestazioni delle diverse implementazioni trovate. Progetti (2) • Effettuare uno studio sul problema della summarizabilità nelle basi di dati relazionali e provare a discutere analogie e differenze quando si prova ad analizzare lo stesso problema con le basi di dati XML. • Effettuare uno studio sul calcolo dell’errore di approssimazione nelle risposte approssimate basate su istogrammi. Tipi di errore presenti in letteratura e eventuali legami col tipo di istogramma scelto. Physical and logical data structures for very small databases • Inserimento nel lavoro relativo al DBMS • Inserimento nel lavoro di tipo metodologico Nota: il progetto integrato con sistemi informativi può essere basato su tracce simili a quella presentata oggi prestando particolare attenzione alla progettazione della base di dati di un dispositivo mobile: smartcard, cellulare, palmare Physical and logical data structures for very small databases • Esiste una proposta di metodologia per il design di basi di dati molto piccole (VSDB). • La metodologia deve tener conto delle peculiarità di questo tipo di basi di dati, in particolare: – Delle strutture dati sia fisiche che logiche utilizzate dai dispositivi che alloggiano queste basi di dati – Delle modalità di accesso ai dati dei dispositivi – Delle problematiche di risparmio di memoria e basso consumo di potenza date da dispositivi con poche risorse e dipendenti da una fornitura di energia limitata (batteria) Progetto 5: Esempio di traccia di un progetto VSDB 1. Si deve progettare una base di dati per una società che gestisce un insieme di taxi. Ogni taxi è caratterizzato dalla targa, il tipo di macchina, il nome in codice. Ogni macchina è caratterizzata dalla capienza. Ai taxi sono associati gli autisti, ognuno caratterizzato dai propri dati anagrafici, da un codice e dall’indirizzo dell’abitazione. I clienti telefonano alla sede centrale per richiedere un taxi. La sede centrale associa i taxi alle richieste dei clienti. Nella richiesta il cliente specifica il proprio nome, il luogo e l’ora a cui desidera il taxi e la destinazione richiesta. Qualora abbia bisogno di un veicolo particolarmente capiente, ciò deve essere comunicato al momento della richiesta. Al termine della corsa, al cliente viene fornita una ricevuta per l’importo della corsa. Sulla ricevuta sono indicati il nome del cliente, il codice sia del taxi che dell’autista, il luogo e l’ora sia della partenza che dell’arrivo, la distanza percorsa e l’ammontare che evidenzia le varie voci ed i vari supplementi. Ad ogni ricevuta deve corrispondere una prenotazione, ma il viceversa può non essere vero. In questo caso la prenotazione viene conservata, ma etichettata come ‘’annullata’’. Tipologia di progetto • Si realizzi la base di dati residente sul server della società utilizzando uno dei pacchetti commerciali disponibili su web ( si trovano in versione shareware a 60 gg - tipo Sybase o Oracle 9i lite). Si realizzi anche un taglio della base di dati da mettere su un portatile in dotazione al tassista che gli permetta di gestire le prenotazioni ed i servizi assegnatigli il più autonomamente possibile e si realizzi un taglio della base di dati da mettere su un portatile in dotazione al cliente che gli permetta di gestire le proprie prenotazioni e visulaizzare e richiedere i diversi servizi. Si fornisca il software di tutta la documentazione necessaria (manuale tecnico comprendente tutti i diagrammi necessari e manuale utente).
© Copyright 2024 Paperzz