Basi di Dati Semistrutturate e XML

Post on 19-Jan-2016

30 views 0 download

description

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 - PowerPoint PPT Presentation

Transcript of Basi di Dati Semistrutturate e XML

1

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

2

Struttura della presentazione

• Introduzione

• Modelli dei dati

• Linguaggi di interrogazione

• Meccanismi di schematizzazione

• Conclusioni

3

INTRODUZIONE

4

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

5

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}}

6

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

7

MODELLI DEI DATI

8

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

9

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>

10

Rappresentazione del documentooperatingSystems

OS OS

(Y2KBugFree,“Yes”) (Y2KBugFree,“No”)

name

currentVersion

MacOS Apple Computer Inc.

namereleasedBy releasedBy

WindowsNT Microsoft Inc.

currentVersion

(lastRevisionDate, “01032000”)

(lastRevisionDate, “11011999”)

9.14 SP6

11

LINGUAGGI DI INTERROGAZIONE

12

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

13

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

14

XML-QLCONSTRUCT <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>

15

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”]]

16

MECCANISMI DI SCHEMATIZZAZIONE

17

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

18

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

19

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

20

CONCLUSIONI

21

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

22

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

23

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