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