230 likes | 353 Views
Basi di Dati Semistrutturate e XML. Carlo Sartiani Dipartimento di Informatica Università di Pisa Questo lavoro è stato in parte finanziato con i fondi del Progetto MURST DATA-X. Struttura della presentazione. Introduzione Modelli dei dati Linguaggi di interrogazione
E N D
Basi di Dati Semistrutturate e XML Carlo Sartiani Dipartimento di Informatica Università di Pisa Questo lavoro è stato in parte finanziato con i fondi del Progetto MURST DATA-X
Struttura della presentazione • Introduzione • Modelli dei dati • Linguaggi di interrogazione • Meccanismi di schematizzazione • Conclusioni
Basi di dati semistrutturate • Una base di dati semistrutturata è caratterizzata da: • un’elevata irregolarità strutturale e/o • un’elevata instabilità strutturale • Queste caratteristiche rendono gli SSD non agevolmente gestibili con sistemi relazionali e/o object-oriented
Esempio @inproceedings{GW99 , AUTHOR = {R. Goldman and J. Widom}, TITLE = {Approximate DataGuides}, BOOKTITLE = {To appear in Proceedings of the second International Workshop WebDB '99, Pennsylvania}, YEAR = {1999}, MONTH = {June}, } @inproceedings{DBLP:conf/icde/NestorovUWC97, author = {S. Nestorov and J. Ullman and J. Wiener and S. Chawathe}, editor = {Alex Gray and Per-{\AA}ke Larson}, title = {Representative Objects: Concise Representations of Semistructured, Hierarchial Data}, booktitle = {Proceedings of the Thirteenth International Conference on Data Engineering, April 7-11, 1997 Birmingham U.K}, publisher = {IEEE Computer Society}, year = {1997}, isbn = {0-8186-7807-0}, pages = {79-90}, bibsource = {DBLP, http://dblp.uni-trier.de} }
Somiglianze tra XML e SSD • Autodescrittività • Flessibilità nella rappresentazione • Integrazione dei risultati ottenuti nei due ambiti di ricerca • SSD: modelli dei dati e linguaggi di interrogazione • XML: meccanismi di schematizzazione
Modelli dei dati per SSD e XML • I modelli dei dati usualmente impiegati per gli SSD si basano su OEM • OEM rappresenta una base di dati come un grafo diretto etichettato • OEM può essere facilmente esteso alla rappresentazione di documenti XML
Un documento XML <operatingSystems> <OS Y2KBugFree=”yes”> <name> MacOS </name> <currentVersion lastRevisionDate=”03012000”> 9.1 </currentVersion> <releasedBy> Apple Computer Inc. </releasedBy> </OS> <OS Y2KBugFree=”no”> <name> WIndowsNT </name> <currentVersion lastRevisionDate=”11011999”> 4 SP6 </currentVersion> <releasedBy> Microsoft Inc. </releasedBy> </OS> </operatingSystems>
Desiderata • Dichiaratività • Chiusura rispetto al modello dei dati • Capacità di esprimere interrogazioni e trasformazioni • Composizionalità delle query • XML: capacità di sfruttare, ai fini dell’ottimizzazione di query, le eventuali DTD associate ai documenti interrogati
Linguaggi per XML • XML-QL è stato progettato specificamente per interrogare documenti data-oriented • Può essere considerato il migliore linguaggio di query per XML data-oriented • XQL è un linguaggio per l’interrogazione di documenti general-purpose • XQL non è consigliabile per l’interrogazione di documenti data-oriented
XML-QL CONSTRUCT <results> { WHERE <bib> <book> <title> $t </title> <author> $a </author> </book> </bib> IN “www.bn.com/bib.xml” CONSTRUCT <result> <title> $t </title> <author> $a </author> </result> } </results>
XQL • La query precedente, pur semplice, non è esprimibile in XQL • Una query XQL: \database\softwareVendors\company[$i=ID]\name [\database\operatingSystems\OS[@releasedBy=$i] [@Y2KBugFree=”Yes”]]
Assenza di schema logico • I sistemi di gestione di SSD sono di solito privi di uno schema logico • L’assenza di schemi logici crea problemi: • esecuzione inefficiente delle query • mancanza di una nozione di correttezza di query • difficoltà nella formulazione delle query
Schemi per XML data-oriented • Le DTD non sono soddisfacenti • Descrivono la struttura sintattica e non l’organizzazione logica • Impongono un ordinamento sui dati • Non permettono di esprimere vincoli sui riferimenti
Schemi per XML data-oriented • Esistono numerose proposte di schemi per documenti XML • La più interessante, per quanto riguarda i documenti data-oriented, è SOX2.0 • Tipizzazione dei riferimenti • Maggiore attenzione all’organizzazione logica dei dati
Direzioni di ricerca • Buona parte della comunità di ricerca ritiene soddisfacenti le soluzioni per SSD relative a: • modelli dei dati • linguaggi di interrogazione • Non siamo d’accordo
Problemi aperti • I problemi aperti sono ancora troppi • Ottimizzazione • Correttezza • Applicazioni su database • La loro risoluzione richiede, a nostro avviso, un approccio diverso da quello finora seguito
Approccio unificante • È necessario un approccio unificante • Il progetto che stiamo sviluppando (Data-X) • Realizzazione di un query language tipizzato • Sistema di tipi che risolva i tre problemi precedentemente citati