Basi di Dati Semistrutturate e XML

23
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

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

Page 1: 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

Page 2: Basi di Dati Semistrutturate e XML

2

Struttura della presentazione

• Introduzione

• Modelli dei dati

• Linguaggi di interrogazione

• Meccanismi di schematizzazione

• Conclusioni

Page 3: Basi di Dati Semistrutturate e XML

3

INTRODUZIONE

Page 4: Basi di Dati Semistrutturate e XML

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

Page 5: Basi di Dati Semistrutturate e XML

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

Page 6: Basi di Dati Semistrutturate e XML

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

Page 7: Basi di Dati Semistrutturate e XML

7

MODELLI DEI DATI

Page 8: Basi di Dati Semistrutturate e XML

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

Page 9: Basi di Dati Semistrutturate e 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>

Page 10: Basi di Dati Semistrutturate e XML

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

Page 11: Basi di Dati Semistrutturate e XML

11

LINGUAGGI DI INTERROGAZIONE

Page 12: Basi di Dati Semistrutturate e XML

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

Page 13: Basi di Dati Semistrutturate e XML

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

Page 14: Basi di Dati Semistrutturate e XML

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>

Page 15: Basi di Dati Semistrutturate e XML

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

Page 16: Basi di Dati Semistrutturate e XML

16

MECCANISMI DI SCHEMATIZZAZIONE

Page 17: Basi di Dati Semistrutturate e XML

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

Page 18: Basi di Dati Semistrutturate e XML

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

Page 19: Basi di Dati Semistrutturate e XML

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

Page 20: Basi di Dati Semistrutturate e XML

20

CONCLUSIONI

Page 21: Basi di Dati Semistrutturate e XML

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

Page 22: Basi di Dati Semistrutturate e XML

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

Page 23: Basi di Dati Semistrutturate e XML

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