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 1 Struttura della presentazione • • • • • Introduzione Modelli dei dati Linguaggi di interrogazione Meccanismi di schematizzazione Conclusioni 2 INTRODUZIONE 3 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 4 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} } 5 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 6 MODELLI DEI DATI 7 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 8 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> 9 Rappresentazione del documento operatingSystems OS OS (Y2KBugFree,“Yes”) name MacOS currentVersion (Y2KBugFree,“No”) releasedBy Apple Computer Inc. (lastRevisionDate, “01032000”) 9.1 name WindowsNT releasedBy Microsoft Inc. currentVersion (lastRevisionDate, “11011999”) 4 SP6 10 LINGUAGGI DI INTERROGAZIONE 11 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 12 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 13 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> 14 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”]] 15 MECCANISMI DI SCHEMATIZZAZIONE 16 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 17 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 18 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 19 CONCLUSIONI 20 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 21 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 22 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 23