Kapitel 5. Abbildung von XML auf Datenbanken. Drei-Ebenen

Kapitel 5 Abbildung von XML auf Datenbanken Drei-Ebenen-Modell Textbasierte Abbildung Modellbasierte Abbildung Strukturbasierte Abbildung Hybride Ansä...
Author: Hans Schäfer
7 downloads 0 Views 606KB Size
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

Suggest Documents