Kapitel 5 Abbildung von XML auf Datenbanken Drei-Ebenen-Modell Textbasierte Abbildung Modellbasierte Abbildung Strukturbasierte Abbildung Hybride Ansätze
Motivation z
XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden – –
Datenzentrische Anwendungen Dokumentzentrische Anwendungen
z
Mehrere Varianten zur Modellierung von XML-Dokumenten und deren Struktur
z
Konsequenz: Dokumente unterscheiden sich stark je nach Anwendung – –
z
Problemstellungen – –
z
Struktur vs. Inhalt Regelmässig vs. unregelmässig
Speicherung von XML-Dokumenten Effiziente Verarbeitung von Anfragen auf den gespeicherten Dokumenten bzw. Daten
Es gibt eine Vielzahl von Methoden zur Speicherung – –
Erste Zielsetzung: Methoden kennenlernen und verstehen Zweite Zielsetzung: Methoden einordnen zu können
Grundprinzipien Vor- und Nachteile Verwendung
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-2
Drei-Ebenen-Modell von Informationssystemen z
Drei-Ebenen –
Konzeptuelle Ebene
–
Logische Ebene
–
logische Datenrepräsentation Dateninhalte (Instanzen)
Physische Ebene
z
abstrakte Datenrepräsentation
Speicherungsstrukturen Zugriffsstrukturen
Anwendung des Drei-Ebenen-Modells auf – – –
Datenbanken Dokumentverarbeitung XML-Verarbeitung
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-3
Drei-Ebenen-Architektur von Datenbanken konzeptuelle Ebene
logische Ebene
physische Ebene
Abstraktes DB-Schema z.B. ER-Schema
Konkretes DB-Schema z.B. Tabellenschema
Speicherungsstruktur Zugriffspfade z.B. B-Baum-Indexe
Abstrakte Instanzen z.B. Entities
Konkrete Instanzen z.B. Tabellen und Tupel
Datensätze in DB-Seiten
z
Konzeptuelle Ebene: ERM, RMSDM, UML, ...
z
Logische Ebene: Relationenmodell, NF2-Modell, OR-Modelle, ...
z
Physische Ebene: interne Speicherung, Indexierung, Änderungen (Updates), Transaktionsverarbeitung, Anfrageoptimierung
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-4
Drei-Ebenen-Architektur in der Dokumentverarbeitung
z
konzeptuelle Ebene
logische Ebene
physische Ebene
Formatvorlage Dokumentstruktur
Datei Dokument
Zugriffsstruktur z.B.: Volltext-Index
Konzeptuelle Ebene: – –
Editoren grundsätzliche Vereinbarung der Dokumentstruktur (Einleitung vor Zusammenfassung etc.)
z
Logische Ebene: Dokumentenmodell, Dokumentenausprägungen
z
Physische Ebene: interne Speicherung, Indexierung, Anfrageverarbeitung
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-5
Drei-Ebenen-Architektur für XML-Anwendungen konzeptuelle Ebene
logische Ebene
Dokumentstruktur z.B.: XML-Schema
physische Ebene
XML-Dokumente, XML-Elemente
z
Konzeptuelle Ebene: XML-Schema, DTDs
z
Logische Ebene: XML-Dokumente, XML-Elemente, etc.
z
Physische Ebene - Speicherung: – – –
? Speicherungsstruktur Zugriffsstruktur
Bislang immer in Form einer Datei – nur bei kleinen Datenbeständen sinnvoll Wie speichert man grosse Dokumente? Wie kann man Abfragen möglichst effizient unterstützen?
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-6
Charakterisierung von XML-Dokumenten z
Datenzentrierte Dokumente – –
z
Dokumentzentrierte Dokumente – –
z
strukturiert, regulär Beispiele: Produktkataloge, Bestellungen, Rechnungen
unstrukturiert, irregulär Beispiele: wissenschaftliche Artikel, Bücher, E-Mails, Web-Seiten
Semistrukturierte Dokumente –
–
datenzentrierte und dokumentzentrierte Anteile Beispiele: Veröffentlichungen, Amazon, MS Press (example chapters)
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
Meyer 1-234-56789-0 2 30.00 XML builds on the principles of two existing languages, HTML and SGML to create a simple mechanism ... The generalized markup concept ... Neil Bradley XML companion 1-234-56789-0 XML builds on the principles of two existing languages, HTML and ...
5-7
Bedeutung des Dokumentcharakters z
Verschiedene Arten von XML-Dokumenten – – –
z
datenzentriert dokumentzentriert semistrukturiert
Viele verschiedene Methoden können zum Einsatz kommen für – – –
konzeptuelle Ebene logische Ebene physische Ebene
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-8
Beudeutung des Dokumentcharakters Dokumentcharakter
Konzeptuelle Ebene
Logische Ebene
Physische Ebene
dokumentenzentriert
semistrukturiert
datenzentriert
Modellierung von Struktur und Inhalt
Modellierung von Struktur und Inhalt
Modellierung von Struktur
Baumbasierte Editoren
"OEM-Modell"
ER, OML, UML
Dokumentmodell
Daten- und Dokumentmodell
Datenmodell
Anfragen/Updates an Struktur und Inhalt
Anfragen/Updates an Struktur und Inhalt
Anfragen/Updates an Inhalt
XML, SGML
XML, OEM
XML, RDM, OODM
XQuery, XPath, DOM, IR-Anfragen
XQuery, XPath, UnQL, LOREL, XIRQL
XQuery, SQL, OQL
Struktur auf Werteebene
Struktur auf Schema- und Werteebene
Struktur auf Schemaebene
Dateien, Volltextindex, Strukturindex
Semistrukturierte Datenbank, Data Guide, Volltextindex, Pfadindexe
(objekt-)relationale Datenbanken, B-Baumbzw. Hash-Indexe
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-9
Anforderungen an die physische Ebene z
z
Ordnungserhaltende und verlustfreie Speicherung von XML-Dokumenten Effizienter Zugriff auf XML-Dokumente oder Teile davon –
Kurze Antwortzeiten für
– – – – –
Anfragen Änderungsoperationen
?? physische Ebene physische Ebene
Physisches Design auf der Speicherungsebene Indexierungsverfahren Transaktionsverwaltung Unterstützung von XPath und XQuery Unterstützung von SAX und DOM für Anwendungen
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-10
Zusammenfassung: Architektur Dokumentverarbeitung
XML
Datenbanken
konzeptuelle Ebene
logische Ebene
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
physische Ebene 5-11
Klassifikation der Ansätze für die physische Ebene (1) z
Textbasierte Verfahren –
z
Modellbasierte Verfahren – – –
z
Speicherung der XML-Dokumente als Zeichenkette
Ausnutzen des Datenmodells von XML zur Speicherung Generische Speicherung der Graphstruktur von XML Speicherung der DOM-Informationen
Strukturbasierte Verfahren – – –
Abbildung auf objektorientierte und (objekt-)relationale Datenbanken Ableiten des DB-Schemas aus XML-Struktur Einsatz von benutzerdefinierten Abbildungsverfahren
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-12
Klassifikation der Ansätze für die physische Ebene (2) z
Schnittstelle zur physischen Ebene –
Native Schnittstelle
–
Nicht-native Schnittstelle:
–
z
Zugriff über XML-Standards Beispiel: DOM-Schnittstelle zur Speicherungsebene Zugriff über andere Standards als XML W3C Beispiel: Speicherung im RDBMS und SQL-Zugriff
Grundsätzlich kann ein System beide Schnittstellen anbieten
Verwendung von XML-Schema-Information – –
DTD bzw. XML-Schema ist erforderlich DTD bzw. XML-Schema ist nicht zwingend erforderlich
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-13
Klassifikation von Speicherungsverfahren
Textbasierte Speicherung
Volltextindex
Modellbasierte Speicherung
Pfadindex
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
Strukturbasierte Speicherung
Vollständiges automatische Abbildung
Benutzerdefinierte Abbildung
5-14
Textbasierte Speicherung Textbasierte Speicherung
Volltextindex
Information Retrieval Suchmaschinen Text Extender für ORDBS - Oracle Text - DB2 Text Extender - Informix Text Data Blade
Modellbasierte Speicherung
Pfadindex
Strukturbasierte Speicherung
Vollständige automatische Abbildung
Benutzerdefinierte Abbildung
DB2 Text Extender Oracle Text Informix Verity Text Search Data Blade
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-15
Textbasierte Speicherung z
Der komplette XML-Dokumenttext wird als Zeichenkette abgespeichert – –
z
Operationen auf Dokumenten als Ganzes sind sehr effizient – –
z
Datei im Dateisystem CLOB (Character-Large-OBject) im Datenbanksystem Lesen des kompletten Dokuments Schreiben des kompletten Dokuments
Zugriff mit feinerer Granularität erfordert zusätzliche Unterstützung – – →
Volltextindex Pfadindex diese und weitere Indexstrukturen werden in Kapitel 8 behandelt
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-16
Kritik der textbasierten Speicherung z
Schemabeschreibung –
z
z
nicht erforderlich
Dokumentrekonstruktion –
z
–
z
Dokumente bleiben im Original erhalten
–
–
Anfragen des Information Retrieval Auswertung des Markup in den Anfragen XML-Anfragen möglich
–
z
Zeichenkette muss beim Zugriff geparst werden → aufwändig Keine Nebenläufigkeit beim Lesen und Schreiben → keine Parallelität
Einsatz –
–
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
Volltextfunktionen
Effizienz –
Anfragen –
Weitere Besonderheiten
für dokumentzentrierte XMLAnwendungen auch für semistrukturierte Anwendungen
5-17
Modellbasierte Speicherung Textbasierte Speicherung
Volltextindex
Strukturbasierte Speicherung
Modellbasierte Speicherung
Vollständiges automatisches Abbildung
Pfadindex
Benutzerdefiniertes Abbildung
Florescu/Kossmann Shimura/Yoshikawa/Uemura infonyte eXcelon XIS (POET)
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-18
Modellbasierte Speicherung z
Idee: generische Speicherung der Graphstrukturen von XML-Dokumenten – – –
z
XML-Elemente, XML-Attribute, ... sind die Knoten des Graphen Schachtelung der Elemente gibt die Kanten Knoten erhalten (intern) eine ID durch Traversierung des Graphen
Verwendung von Relationen bzw. Objektklassen zur Speicherung von Elementen und Attributen Elemente
ID Elementname Wert Verweis auf Vorgänger Ordnung
Attribute
ID
Attributname
Wert
Verweis auf Element
z
Vollständige Wiederherstellung der Struktur ist möglich
z
Erweiterungen zur adäquaten Speicherung von Datentypen sind möglich
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-19
Modellbasierte Speicherung: EDGE, BINARY store
…
auction description Men ...
Edge-Tabelle
store
price 5.20
auction description Space and stars
price 47.11
key D1 … D4 D1 … D4 D1 D4 …
XML-Dokumente Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
id 1
parent label NULL store
1 4
NULL 1
6 17 23
1 4 6
content NULL
store auction
NULL NULL
auction price description
NULL 5.20 Space and stars…
Varianten: • BINARY: horizontale Partitionierung von EDGE nach label • Herausfaktorisieren der Inhalte der Blattknoten 5-20
Modellbasierte Speicherung: Anfragen (1) z
Angepasstes SQL, durch Datenbankschema bestimmt:
z
Beispiel: ''Schnäppchen'' SELECT a.content, b.content FROM Edge a, Edge b WHERE (a.label = 'price') AND (a.content < 10.00) AND (b.label = 'desription') AND (b.parent = a.parent) AND (a.key = b.key)
key D1 … D4 D1 … D4 D1 D4
id parent label 1 NULL store
content NULL
1 4
NULL NULL
6 17 23
NULL store 1 auction 1 4 6
auction NULL price 5.20 description Space and stars…
…
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-21
Modellbasierte Speicherung: Anfragen (2)
XML-Anfragen
XQuery
SQL
DB
z
XML-Anfragen (XPath, XQuery) werden intern als SQL-Anfragen (unter Berücksichtigung der Speicherstruktur) umgesetzt
z
Ergebnis der XML-Anfrage wird aus dem Ergebnis der Datenbankanfrage generiert – –
''Labelling'' der Ergebnistupel Ergebnis ist im XML-Format
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-22
Modellbasierte Speicherung: Speicherung des DOM (1) DOMImplementation
Node
NodeList
NamedNodeMap
Attr z
Informationen des Document Object Models werden in Datenbanken gespeichert
CharacterData Comment Text CDataSection
z
Alternative Speicherungsverfahren – – –
(objekt-)relationale Datenbanken objektorientierte Datenbanken Entwicklung eigener Speicherungsstrukturen
Document DocumentFragment DocumentType Element Entity EntityReference Notation ProcessingInstruction
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-23
Modellbasierte Speicherung: Speicherung des DOM (2) Knoten vom Typ: ELEMENT
2 title
The Autobiography of Benjamin Franklin
1 book Knoten vom Typ: ATTR
3 price
8.99
Knoten vom Typ: TEXT
NodeID
NodeType
DocID
ParentNode
1
ELEMENT
1
NULL
2
ELEMENT
1
1
3
ATTRIBUTE
1
1
4
TEXT
1
2
NodeID
TagName
NodeID
Content
1
book
4
"The Auto..."
2
title
NodeID
PreviousSibling
NextSibling
FirstChild
1
NULL
NULL
2
2
NULL
NULL
4
3
NULL
NULL
NULL
NodeID
ElementID
AttributName
AttributValue
3
1
price
8.99
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-24
Modellbasierte Speicherung: DOM-Methodenaufrufe
XML-Anfragen
DOM
SQL
DB
z
XML-Anfragen (DOM-Methodenaufrufe) werden intern als SQL-Anfragen (unter Berücksichtigung der Speicherstruktur) umgesetzt
z
Ergebnis des Methodenaufrufs wird aus dem Ergebnis der Datenbankanfrage generiert
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-25
Eigenschaften der modellbasierten Speicherung z
Schemabeschreibung –
z
–
–
Möglich, aber sehr auswändig –
XML-Anfragen möglich Angepasste Datenbankanfragen
z
Weitere Besonderheiten –
Effizienz –
Anfragen –
z
Zur Speicherung nicht erforderlich
Dokumentrekonstruktion –
z
z
Anfragen über vielen Elementen/Attributen sind aufwändig
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
Navigation ausgehend von gegebenem Kontext ist effizient Wiederherstellen des Dokuments ist ineffizient Auswertung von Pfadausdrücken sehr ineffizient
Einsatz –
für daten- und dokumentzentrierte, sowie semistrukturierte XMLAnwendungen
5-26
Strukturbasierte Speicherung: automatisches Abbildung Textbasierte Speicherung
Volltextindex
Modellbasierte Speicherung
Strukturbasierte Speicherung
Vollständige automatische Abbildung
Pfadindex
Benutzerdefinierte Abbildung
Shanmugasundaram et al. Deutsch/Fernandez/Suciu: STORED Klettke/Meyer POET
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-27
DB-Schema aus einer DTD oder einem XML-Schema ableiten z
Motivation –
XML als Austauschformat
– – z
XML-Inhalte sollen in einer herkömmlichen Datenbank gespeichert werden Verzicht auf nativen Zugriff wird toleriert
Problematik – –
z
Vorgegebene DTD oder Vorgegebenes XML-Schema
DB-Schema möglichst automatisch aus DTD generieren DTD-Strukturinformationen möglichst gut ausnutzen
Grundsätzliches Vorgehen – – –
–
DTD in eine Baumdarstellung überführen Knoten sind die Elementtypen, Attribute, etc. (Typebene!!!) Kanten sind die Schachtelungsbeziehungen der Elementtypen und deren Restriktionen Baum traversieren und Knoten und Kanten anhand von Regeln in DB-Tabellen umwandeln
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-28
Erzeugen des Datenbankschemas für eine DTD z
Regeln zur Umsetzung von Elementtypen:
–
XML-Elementtyp Sequenz von Elementtypen Alternative von Elementtypen Elementtyp mit Quantifizierer ? Elementtyp mit Quantifizierer +,*
–
Geschachtelte Elementtypen
– – – –
z
Spalte einer Tabelle Spalte einer Tabelle Spalte einer Tabelle Spalte mit Nullwerten Menge (Liste) von Spalten (SET OF, LIST OF) TUPLE OF
Regeln zur Umsetzung von Attributen: – – – –
XML-Attribut IMPLIED REQUIRED Defaultwert
Spalte einer Tabelle Nullwert erlaubt Nullwert nicht erlaubt DEFAULT Constraint
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-29
Abbildung von XML auf relationale Datenbanken XML-Dokument: H0001 Hotel Hübner 18119 Warnemünde Seestrasse 12 198 299
Hotel:
Adresse:
Preise:
HotelID
Hotelname
Adresse
Preise
H0001
Hotel Hübner
A0001
P0001
AdresseID
PLZ
Ort
Strasse
Nr
A0001
18119
Warnemünde
Seestraße
12
PreiseID
Einzelzimmer
Doppelzimmer
P0001
198
299
z
DTD ist typischerweise erforderlich
z
Anfragen verwenden SQL-Funktionalität
z
RDBMS-Datentypen werden eingesetzt (Preise sind numerisch)
z
Problem: Abbildung von Kollektionstypen – Aufteilung auf zusätzliche Relationen
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-30
Abbildung mit STORED z
STORED: Semistructured TO Relational Data
z
Grundidee: Anwendung von Data Mining-Techniken auf XML-Struktur, um eine gute Abbildung auf Tabellen zu bestimmen
z
Verfahren: –
Eingabe
–
Ausgabe
–
Relationales Schema STORED-Queries: Abbildungsvorschriften für XML-Dokumente auf DB-Tabellen
Algorithmus
–
XML-Dokumente (oder eine repräsentative Stichprobe der Kollektion) Anfrage-Workload Restriktionen des Plattenplatzes, der Tabellenzahl im RDBMS,...
Bestimmung der XML-Teilbäume mit dem grössten Support in der Kollektion und in den Anfragen Diese Teilbäume werden in Tabellen materialisiert Unregelmässige Daten werden in Overflow-Tabellen nach dem Edge-Ansatz gespeichert
Keine DTD oder XML-Schema erforderlich!
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-31
Abbildung mit STORED: Beispiel FROM '//book' { 'title' : v1 'price' : v2 } STORE book(v1,v2)
Teilbäume mit hohem Support
price
title
Men ...
5.20
Side Table book
…
book
STORED query
book
title Space and stars
price
47.11
unusual
key D1 D2 D3 D4 …
… title Men… Earth… Stars… Space and stars…
price 5.20 100.00 42.00 47.11
A value
XML-Dokumente in Baumdarstellung
Overflow Source D4
Ordinal Name Datatype 3 unusual string
Target v1
Value Table string vid v1 Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
value A value 5-32
Abbildung von XML auf objektrelationale Datenbanken XML-Dokument:
Hotel:
HotelID H0001
H0001 Hotel Hübner 18119 Warnemünde Seestrasse 12 198 299 Hotelname Hotel Hübner
PLZ
Ort
Strasse
Nr
Einzelzimmer
Doppelzimmer
18119
Warnemünde
Seestrasse
12
198
299
z
DTD ist typischerweise erforderlich
z
Anfragen verwenden SQL-Funktionalität
z
"Natürliche" Abbildung auf Tupeltypen, Kollektionstypen
z
Datenbanken häufig mit vielen Nullwerten wegen Irregularität der Dokumente
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-33
Beispiel XML-DTD:
Informix-Syntax:
CREATE TABLE book ( isbn VARCHAR(20) NOT NULL, front ROW ( title VARCHAR(100) NOT NULL, author LIST ( ROW ( first VARCHAR(30) NOT NULL, second VARCHAR(50) NOT NULL, email VARCHAR(30) ) NOT NULL ) NOT NULL, edition VARCHAR(20), publisher VARCHAR(40) NOT NULL ), body CLOB NOT NULL, references CLOB NOT NULL );
Book:
isbn title first
{author} second email
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
body edition
references
publisher
5-34
Abbildung von Alternativen z
XML (wie andere semistrukturierte Datenformate) erlaubt optionale Daten (Vereinigungsoperator!)
z
Beispiel:
z
Drei Speicherungsvarianten sind möglich – – –
Alle Alternativen in einer Tabelle speichern Aufspaltung der Alternativen in separate Tabelle Verwendung einer Tabellenspalte vom Typ XML
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-35
Variante 1 – Alle Alternativen in einer Tabelle z
Beispiel:
Zum Kater 42 4 Hotel Hübner 4 Meerblick
z
Kategorie
Hotelname
Name
NULL
NULL
4
Hotel Hübner NULL
NULL
NULL
Zimmer Sterne
Zum Kater 42 NULL
Name
NULL
NULL
NULL
NULL
NULL
NULL
4
Meerblick
Problem: viele NULL-Werte (Speicherplatzverschwendung)
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-36
Variante 2 – Aufspaltung auf mehrere Tabellen z
Beispiel:
Zum Kater 42 4 Hotel Hübner 4 Meerblick
z
Hotel:
Kategorie 4
Hotel Hübner
Name
Pension:
Hotelname
Zimmer
Zum Kater 42
Campingplatz: Sterne 4
Name Meerblick
Bei Anfragen Vereinigung der Tabellen zur Zusammenführung nötig
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-37
Variante 3 – Verwendung einer Spalte vom Typ XML z
Beispiel: Unterkunft Zum Kater 42 4 Hotel Hübner 4 Meerblick
z
Zum Kater 42 4 Hotel Hübner 4 Meerblick
Spalte Unterkunft ist vom Typ XML!
XML-Typ bietet native Methoden zum Zugriff mit XML-Anfragen oder DOM-Methoden auf die Daten
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-38
Abbildung von rekursiven Datendefinitionen z
DTDs beispielsweise können rekursiv sein
z
Unendliche Rekursion auf der Instanzenebene einer DB nicht möglich
z
Vorgehensweise: – – – –
z
Markieren der Knoten Aufspaltung in separate Tabellen Verwendung von Primär-/Fremdschlüsseln in RDBMS Verwendung von Referenztypen in ORDBMS
Beispiel: ... ... ...
book
ID book references
book references
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-39
Abbildung von Elementordnungen z
Reihenfolge kann von Bedeutung sein
z
In diesen Fällen: Einführung eines zusätzlichen Attributes
z
Beispiel: Kapitel
Ordnung Kapitel
Einführung
1
Einführung
Theoretische Grundlagen
2
Theoretische Grundlagen
Konzeption
3
Konzeption
Beispiel
4
Beispiel
Zusammenfassung
5
Zusammenfassung
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-40
Abbildung von Mixed Content, ANY z
Abbildung auf flache Tabellen nur sehr schlecht geeignet
z
Rückgriff auf textbasierte Speicherung für Teile des Dokuments ... Anreisebeschreibung ... Sie können unser Haus auf verschiedenen Wegen erreichen: per Bahn: 1 km ab Bahnhof Warnemünde per Auto: 19 km ab Autobahn A19 Rostock-Berlin Sie finden uns direkt an der Uferpromenade.
z
Gar nicht darstellbar: Inhaltsmodell ANY – –
Beliebiger Inhalt, beliebige Elementtypen Kann häufig erst auf der Instanzenebene entschieden werden, welche Speicherungsstruktur geeignet ist
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-41
Abbildung von Mixed Content Sie können unser Haus auf verschiedenen Wegen erreichen: per Bahn: 1 km ab Bahnhof Warnemünde per Auto: 19 km ab Autobahn A19 Rostock-Berlin Sie finden uns direkt an der Uferpromenade.
Ordnung
#PCDATA
Bahn
Auto
1
Sie können unser Haus auf verschiedenen Wegen erreichen:
NULL
NULL
2
NULL
per Bahn: 1 km ab Bahnhof Warnemünde
NULL
3
NULL
NULL
per Auto: 19 km ab Autobahn A19 Rostock-Berlin
4
Sie finden uns direkt an der Uferpromenade.
NULL
NULL
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-42
Anfragen bei strukturbasierter Speicherung mit automatischer Abbildung z
Datenbankanfragen – – – –
z
Struktur der Datenbanken muss bekannt sein SQL-Anfragen OQL-Anfragen ...
XML-Anfragen –
–
–
Prozess der Abbildung der XML-Dokumente auf Datenbanken muss protokolliert sein Datenbankanfrage für XML-Anfrage muss (automatisch) generiert werden können Ergebnisse für die XML-Anfragen muss generiert werden können (Labelling in der DB-Engine)
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-43
Vor- und Nachteile strukturbasierter Speicherung mit automatischer Abbildung z
Vorteile – –
z
Anfragen, Datentypen, Aggregatfunktionen, Sichten Integration in andere Datenbanken bei der Speicherung strukturierter Daten
Nachteile – – –
Grosses Schema, schwach gefüllte Datenbanken (viele Nullwerte) Keine flexiblen Datentypen, Speicherung von Alternativen problematisch Wenig Flexibilität bei Anfragen
Keine Information-Retrieval-Anfragen ohne zusätzliche Erweiterungen möglich Keine Volltextoperationen bei der Speicherung semi- und unstrukturierter Daten Häufig kein nativer Zugriff mehr möglich
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-44
Strukturbasierte Speicherung in Datenbanken mit automatischem Mapping z
Schemabeschreibung –
–
z
Nur eingeschränkt möglich (Protokollierung des Abbildungsprozesses)
z
z
–
Föderationen mit bestehenden Datenbanken möglich
Effizienz –
Anfragen –
Weitere Besonderheiten –
Dokumentrekonstruktion –
z
Zur Speicherung erforderlich bei DTDAnalyse Nicht erforderlich bei STORED
z
hoch durch Einsatz der DB-Engine
Einsatz –
für datenzentrierte XMLAnwendungen
Datenbankanfragen XML-Anfragen möglich
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-45
Strukturbasierte Speicherung: benutzerdefinierte Abbildung Textbasierte Speicherung
Volltextindex
Modellbasierte Speicherung
Pfadindex
Strukturbasierte Speicherung
Vollständige automatische Abbildung
Benutzerdefinierte Abbildung
Deutsch/Fernandez/Suciu: STORED DB2 XML Extender Ronald Bourret
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-46
Benutzerdefinierte Abbildung z
Bei allen bisherigen Methoden konnte die Art der Speicherung in der Datenbank nicht beeinflusst werden
z
Benutzerdefinierte Abbildungen lassen den Nutzer steuern, welche Speicherungsstruktur zum Einsatz kommt
z
Struktur der XML-Dokumente und Datenbankschema können unabhängig voneinander entworfen werden (und relativ autonom sein)
z
Auch möglich: Speicherung von XML-Dokumenten in existierenden Datenbanken
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-47
Benutzerdefinierte Abbildung – Beispiel XML-Dokument
Abbildungsvorschrift
H0001 Hotel Hübner 18119 Warnemünde Seestrasse 12 198
Preise:
...
URL
Name
Einzelzimmer
www.hotelhuebner.de
Hotel Hübner
198
Abbildungsvorschrift stellt die Verbindung zwischen XML(-Schema) und Datenbanken dar Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-48
Abbildungsvorschrift z
Beispiel nach Ronald Bourret ...
z
Verbindung zwischen Elementen und Relationen Verbindung zwischen Elementen/Attributen und Datenbankattributen
Häufig wird die Abbildungsdefinition mit schon bestehender SchemaInformation kombiniert – –
Annotation der DTD Annotation eines XML-Schemas
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-49
Anfragen mit benutzerdefinierter Abbildung
z
Datenbankanfragen – – – –
z
Struktur der Datenbanken muss bekannt sein SQL OQL ...
XML-Anfragen nur sehr eingeschränkt –
–
Protokollierung des Abbildungsprozesses von XML-Dokumenten auf Datenbanken Alle für die Anfrage relevanten Daten müssen gespeichert sein (verlustfreie Abbildung)
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-50
Eigenschaften der Speicherung mittels benutzerdefinierter Abbildung z
Schemabeschreibung –
z
Zur Speicherung erforderlich
Meist nicht möglich (Voraussetzung: Protokollierung des Abbildungsprozesses, vollständige Abbildung)
z
z
–
Integration in bestehende Datenbanken möglich
Effizienz –
Anfragen –
Weitere Besonderheiten –
Dokumentrekonstruktion –
z
z
hoch durch Einsatz der DB-Engine
Einsatz –
für datenzentrierte XMLAnwendungen
Datenbankanfragen XML-Anfragen in Ausnahmefällen möglich
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-51
Hybride Ansätze (1) z
Es gibt eine Reihe von Methoden zur Speicherung von XML-Dokumenten
z
Unterstützung von Dokumenten, die sowohl daten- als auch dokumentzentrierte Anteile aufweisen, ist schwierig –
–
Speicherungsverfahren für datenzentrische Anteile sind nicht für dokumentzentrische geeignet und umgekehrt Keines der bisher bekannten Verfahren deckt die Anforderungen ab
z
Einsatz unterschiedlicher Speicherungsmethoden für diese verschiedene Dokumentanteile
z
Kombination mehrerer der vorher vorgestellten Verfahren – –
z
Kombination von textbasierter mit strukturbasierter Speicherung Kombination von strukturbasierter Speicherung mit XML-Typ
Beispiel – – –
Verwendung von objektrelationalen Datenbanken mit Typ XML ''Strukturierte'' Anteile des XML-Dokumentes als objektrelationale Strukturen ''Unstrukturierte'' Anteile als Attribute vom Typ XML
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-52
Hybride Ansätze (2) z
Probleme – –
z
Erkennen der stark strukturierten und irregulären Anteile Separieren dieser Anteile
Grundidee der hybriden Verfahren zum Erstellen eines Datenbankschemas – – –
– –
Aufbau eines DTD-Graphen (oder XML-Schema-Graphen) Bestimmen eines Masses für die Signifikanz jedes Knotens Festlegen eines Shredding-Grades, der die Granularität des entstehenden Datenbankschemas bestimmt Ableitung der Attribute vom Typ XML Abbildung der strukturierten Anteile auf objektrelationale Datenbanken
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-53
Integration der hybriden Speicherung in die Klassifikation Textbasierte Speicherung
Volltextindex
Modellbasierte Speicherung
Strukturbasierte Speicherung
Vollständiges automatisches Abbildung
Volltext- und XML-Index
Benutzerdefiniertes Abbildung
ShreddingGrad dokumentenzentriert
semistrukturiert
datenzentriert
• Erkennen von daten- und dokumentzentrierten Anteilen • Speicherung mit verschiedenen Verfahren Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-54
Einordnung der Systeme
Textbasierte Speicherung
Modellbasierte Speicherung
Strukturbasierte Speicherung
IBM DB2
eXcelon
IBM DB2
Oracle
Infonyte
Oracle
IBM Informix
Tamino
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-55
Zusammenfassung z
Verschiedene Verfahren zur Speicherung von XML-Dokumenten –
Textbasierte Verfahren
–
Modellbasierte Verfahren
–
Generische Abbildung des Graphenmodells von XML auf DBMS
Strukturbasierte Verfahren
–
Speicherung des ganzen XML-Dokumentes als Zeichenkette Ggf. Indexierung mit Volltext- oder Pfadindexes
Erkennen und Analysieren der Struktur der XML-Dokumente Ableiten eines DB-Schemas aus der XML-Struktur
Hybride Verfahren
Kombination mehrerer der zuvor genannten Verfahren
z
Es gibt keine Lösung, die alle denkbaren XML-Dokumente optimal abdeckt
z
Sinnvolle Lösung ist stark von der Anwendung abhängig
Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)
5-56