44
Verwaltung von XML- Dokumenten

Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

Embed Size (px)

Citation preview

Page 1: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

Verwaltung von XML-Dokumenten

Page 2: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Motivation XML-Dokumente können für sehr verschiedene

Anwendungen eingesetzt werden Aussehen der Dokumente unterscheidet sich

stark

Vielzahl von Methoden zur Speicherung existiert

verschiedene Abfragemethoden Mehrere Varianten zur Modellierung von XML-

Dokumenten und deren Struktur

Page 3: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Daten oder Dokumente (1) „Lesbare Dokumente“ (dokumentzentriert)

– sind selten genau gleich strukturiert– Reihenfolge ist wichtig– sinntragende Daten auf allen Ebenen, viel Mixed

Content– Volltextsuche ist unabdingbar, aber nicht

ausreichend– Beispiele

Zeitschriftenbeiträge, Bücher Gebrauchsanweisungen, Handbücher e-Mail Präsentationen Verträge

– 70% der relevanten Geschäftsinformationen in Textdokumenten

Page 4: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Daten oder Dokumente (2) Datenzentrierte Dokumente

– wie Daten im herkömmlichen Sinn (z.B. in relationalen Datenbanken)

– Reihenfolge ist oft nicht relevant– sind einheitlich und meist einfach strukturiert– haben Datentypen– sinntragende Daten in Blattelementen oder

Attributen– Mixed Content ist die Ausnahme (oder Dekoration)– Beispiele:

Telefonbücher wissenschaftliche Daten Fahrpläne, Flugpläne Bestellungen

Page 5: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Daten und Dokumente Semistrukturierte Daten

– Strukturiert: Felder– Unstrukturiert: binäre Daten wie Text, Video- und Audio-

Streams, Bilder (in XML: External Entities, CDATA Sections)– unregelmäßiges Auftreten von Hyperlinks

Mangel an Struktur– Mischform aus datenzentriert und dokumentenzentriert– Struktur implizit oder verborgen– Integration von Daten aus heterogenen Quellen (hierfür

strukturiertes Modell oft zu restriktiv)– Bestimmte Anfragetypen ignorieren Schema bewußt (z.B.

Zeichenkettensuche über gesamte Datenbank hinweg) Beispiel Krankenakten:

– Krankenakten Daten: Geburtsdatum, Adresse, etc, binäre Daten: Röntgenbilder Dokumente: Diagnose, Anamnese etc.

Page 6: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Klassifikation: Beispiel

Datenzentrierte Dokumente (strukturiert, regulär

Beispiele: Produktkataloge, Bestellungen, Rechnungen)

Dokumentzentrierte Dokumente (unstrukturiert, irregulär

Beispiele: wissenschaftliche Artikel,

Bücher, E-Mails, Webseiten)

Semistrukturierte Dokumente (datenzentrierte und dokumentenzentrierte

Anteile

Beispiele: Veröffentlichungen, Amazon)

<order> <customer>Meyer</customer> <position> <isbn>1-234-56789-0</isbn> <number>2</number> <price currency=„Euro“>30.00</price> </position></order>

<content>XML builds on the principles of two existing languages, <emph>HTML</emph> and <emph>SGML</emph> to create a simple mechanism .. The generalized markup concept ..</content>

<book> <author>Neil Bradley</author> <title>XML companion</title> <isbn>1-234-56789-0</isbn> <content> XML builds on the principles of two existing languages, <emph>HTML</emph> and .. </content></book>

Page 7: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Warum XML in DatenbankenXML als SGML-Nachfolger

– entstehende Dokumente müssen gespeichert werdenXML als Austauschformat

– Originaldaten werden in XML transformiert Austauschdaten müssen aber ebenfalls gespeichert werden

(z.B. beim Empfänger)

Nur die Speicherung in Datenbanken garantiert– mächtige und effiziente Suchfunktionen– transaktionsorientierte Speicherung– Mehrbenutzerbetrieb

Anwendungen– Dokumentenverwaltung– Website-Management– Verkaufsunterstützung– Information Publishing

Page 8: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XML-Datenbanksysteme (1) kann beliebige XML-Dokumente als solche

speichern kann XML-spezifische Anfragesprache

verarbeiten liefert XML als Ergebnis einer Anfrage

– Dokumente und Extrakte

effiziente struktur-und wertebasierte Anfragen unterstützt Daten- und Dokumentsicht (Mixed

Content, Kommentare etc.) erlaubt eine schematische Beschreibung der

Dokumente (Validierung möglich)

Page 9: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XML-Datenbanksysteme (2) DB-Eigenschaften (Transaktionen,

Skalierbarkeit etc.) standardkonform Sammlung von XML-Dokumenten? Sammlung von XML-Dokumentfragmenten? Unabhängigkeit von der Speicherungsstruktur Indizierung? Validierung Sicherheit Erweiterbarkeit

Page 10: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Speichern & Liefern von Dokumenten Round-Trip-Problem

– Gespeicherte Dokumente werden “unverändert“ geliefert

Der ganze Inhalt– Prolog– Kommentare– Processing Instructions

Was heißt “unverändert“

Page 11: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Anfragetypen: Werteorientiert @attribute < 5

– <element attribute=“4“/>

element < 7.1– <element>6.1</element>

element = “Hugo“– <element>Hugo</element>– <element><subelement>

Hugo</subelement></element>

– <element><B>H</B>ugo</element>

Page 12: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Anfragetypen: Textorientiert

documents containing “XML“ documents containing “XML“ OR “HTML“ but

not “SGML“ documents containing “XML“ within two words

of “database“ documents with word similar to “XML“ (ranking)

Page 13: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Anfragetypen: Strukturorientiert siehe XPath Query Language //Buch bzw. /[//Buch]

alle Buch-Elemente bzw. Dokumente, in denen ein Element “Buch“ vorkommt

//Buch/@ISBN bzw. /[//Buch/@ISBN]der Wert des Attributs ISBN von Buch bzw. Dokumente, in denen ein Element “Buch“ ein Attribut “ISBN“ hat

/Buch/@* /Buch/Titel /Buch/Autor[1] /Buch/*[1] Titel AFTER /Buch/Autor

Page 14: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Weitere Anfragetypen Linkorientiert

– Dokumente, die auf eine bestimmte Stelle zeigen– Dokumente, die aus einem Dokument referenziert

werden

Metadatenorientiert– Dokumente, die seit dem 1.1.2002 geändert wurden– Dokumente, die von Matthias Conrad gespeichert

wurden

Kombinationen daraus– //Buch[Preis < 50 AND Titel CONTAINS “XML“]

Page 15: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Anfragesprachen Es gibt noch keine normierte Anfragesprache für XML

– die XML Query Working Group (W3C) arbeitet daran

Anforderungen an die Anfragesprache liegen vor– deklarativ– protokoll-unabhängig– auf allen Arten von Dokumenten (dokument- oder

datenzentrisch), mit und ohne DTD– Operationen auf Hierarchie und Reihenfolge– Unterstützung von Sortierung von Aggregation– XML-Repräsentation einer Query– Berücksichtigung von Namespaces– Unterstützung von Referenzen innerhalb und außerhalb von

Dokumenten

Page 16: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XML-QLW3C: http://www.w3.org/TR/NOTE-xml-qlDatenquelle als URIAufbau:

WHERE Suchmuster IN Quelle CONSTRUCT Ausgabemuster

Beispiel-Anfrage in XML-QL (WHERE-Klausel):WHERE

<BOOK> <NAME><LAST>$1</LAST></NAME> </BOOK> IN “www.booklist.com/books.xml“

CONSTRUCT <RESULT> $1 </RESULT>

Anfrage extrahiert Daten aus einem XML-Dokument, die in der Struktur BOOK-NAME-LAST zu finden sind und erzeugt Ergebnis-Dokument

Page 17: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XPath Für die Verwendung in XSLT und XPointer

entworfen Beim W3C normiert (W3C Recommendation)

http://www.w3.org/TR/xpath.html Navigation in einem Dokument

– Location Path Achsen zur Navigation child, descendant, parent, ancestor, sibling, following,

preceding, attribute, namespace, self, z.B. descendant::Name/child::Vorname

Kurznotation ist verfügbar: //Name/Vorname

Page 18: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XPath (Forts.) Filter

– [expression]– Beispiel: //Buch[@ISBN=“3-557-06021-7“ AND Author]

Wildcard– //*[@*=“Hugo“]

Position [pos]– /book/author[1]

kann auf Processing Instructions und Kommentare zugreifen

Weitere Query Languages– XQL: basiert auf XPath, W3C-Proposal– Quilt: Basis für XQuery (zur Zeit diskutierter Sprachvorschlag)– IPSI-QL (erste Implementierung)

Page 19: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Ziel: Anfrageergebnis wohlgeformtes XML unterschiedliche Granulate

– Dokument– Menge von Dokumenten (mengenorientierte

Anfrage) erfordert systemdefinierte Wurzel

– Element / Menge von Elementen (aus Dokument)– Attributwerte / Menge von Attributwerten– Elementwert / Menge von Elementwerten

Anfrageergebnisse

Page 20: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

XML-Architektur

<..>

physische

EbeneEbene

Dokument-verarbeitung

DokumentenEntwurf von XML-

Konzeptueller

</..></..>

logischeEbene

<..>

konzeptuelle

</..><..>XML

Datenbanken

Klettke / Meyer “XML-Datenbanken“

Page 21: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Logische Ebene

logischeEbene

<..><..>

</..>

</..><..> </..>

dat

enze

ntr

iert

sem

istr

uk

turi

ert

dok

-zen

trie

rtDatenmodellAnfragen/Updates anInhalt

XML, RDBM, OODBMXQuery, SQL, OQL

Daten- und Dokumentmodell

Struktur und InhaltAnfragen/Updates an

XML, OEMXQuery, Lorel

Dokumentmodell

Anfragen/Updates anStruktur und Inhalt

XML,SGMLXQuery, XPath, DOM,IR-Anfragen

Page 22: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Realisierung Physische Ebene

Speicherung der XML-Dokumente als Ganzes und Indizierung (textbasiert native)

– Volltextindex– Volltext- und Strukturindex

Speicherung der Graphenstruktur (modellbasiertes natives Verfahren)

– generische Graphspeicherung– Speicherung der DOM-Informationen

strukturierte Abbildung auf Datenbanken– relationale Datenbanken– objekt-orientierte und objekt-relationale Datenbanken– Einsatz von benutzerdefinierten Mappingverfahren

Ebenephysische

Page 23: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Bedeutung des Dokumentcharakters XML-Dokumente können die ganze Bandbreite

von Daten bis zu Volltextdokumenten ein-nehmen– dokumentzentriert, semistrukturiert, datenzentriert

dementsprechend unterschiedliche Speiche-rungsverfahren von der Dokumenten-verarbeitung bis zur DB-Technologie

weiterhin: Neuentwicklung von Methoden

keine optimale Lösung für alle Anwendungen, Dokumentcharakter spielt entscheidende Rolle!

Page 24: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Architektur: physische Ebene

date

nzen

trie

rtse

mis

truk

turi

ert

dok-

zent

rier

t

relationale, objekt-relationaleoder objekt-orientierteDatenbanken

generische Speicherung von Graphen oderDOM-Informationen

Dateien Volltextindex, Strukturindex

Struktur auf Werteebene

Struktur auf Schema-und Werteebene

Struktur auf Schemaebene

Ebenephysische

Page 25: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Volltextindex und XML-Index

Volltextindex

Als Dateien / Clobs

Speicherung derDokumentstruktur

StrukturierteSpeicherung

in Datenbanken

VollständigesMapping

Benutzer-definiertesMapping

Abbilden des DOM-Modells

Abbildung derGraphstruktur

Für dokument-zentrierte XML-Dokumente

Für daten-zentrierte XML-Dokumente

Für semistrukturierte XML-Dokumente

Speicherung von XML-Dokumenten

Page 26: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Grundprinzip der invertierten Liste

1

2

2

1

3

1

A

B

D

E

C

F

2

1

3

A D F

3

3

3C DB

A C D E

2

Bestimmung der Stichworteder Dokumente

Dokumente Stichworte

Invertierte Speicherung:

Speicherung der Stichworte undder zugehörigen Dokumente

Stichworte Dokumente

Page 27: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Volltext-Index

- bekannte Methode (älter als relationale Datenbanken)- Boolesches Retrieval (AND, OR, NOT)

Verweis

Warnemünde

<adresse> <plz>18119</plz> <ort>Warnemünde</ort>

<nummer>12</nummer> </adresse> <anreisebeschreibung>

</anreisebeschreibung></hotel>

<hotelname>Hotel Hübner</hotelname>

Aus Richtung Rostock kommend ...

<hotel>

Begriff

anreisebeschreibung

ort

Rostock

hotel

<strasse>Seestraße</strasse>

Page 28: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Eigenschaften des Volltext-Indexes Schemabeschreibung

– nicht erforderlich

Dokumentrekonstruktion – Dokumente bleiben im Original erhalten

Anfragen – Anfragen des Information Retrieval

Weitere Besonderheiten– Volltextfunktionen (vgl. SQL-MM)– keine Auswertung des XML-Markups

Einsatz – für dokumentzentrierte XML-Anwendungen

Produkte – Oracle InterMedia Text, DB2 Text Extender

Page 29: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig Kombinierter Volltext- und XML-Index

- XML - Struktur kann in Anfragen ausgewertet werden

Verweis

Verweis

Seestraße <strasse>Seestraße</strasse>

. . .

Vorgänger

<ort>Warnemünde</ort> <plz>18119</plz>

Element

<adresse><hotelname>Hotel Hübner</hotelname>

Volltext-Index

XML-Index

Element

ort

Aus Richtung Rostock kommend fahren Sie auf der

hotel

adresse

Stadtautobahn bis nach Warnemünde

strasse

<hotel>

</adresse><anreisebeschreibung>

Term

Warnemünde

Rostock

anreise-beschreibung

<anreisebeschreibung></hotel>

Page 30: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK LeipzigEigenschaften des kombinierten Volltext- und XML-Indexes

Schemabeschreibung – nicht erforderlich

Dokumentrekonstruktion – Dokumente bleiben im Original erhalten

Anfragen – Anfragen des Information Retrieval – Auswertung des Markup in den Anfragen– XML-Anfragen möglich

Weitere Besonderheiten– Volltextfunktionen (vgl. SQL-MM)

Einsatz – für dokumentzentrierte XML-Anwendungen– auch für semistrukturierte Anwendungen

Produkte – Oracle InterMedia Text, DB2 Text Extender

Page 31: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Speicherung der Graphstruktur

• generische Speicherung der Struktur des XML-Dokumentes

Element

www...

Müller

ort

plz

ValueType Descendant-of

string

stringstrasse

Warnemünde

Seestrasse

hotel

string

Element

adresse

int 18119

Attribute ValueType

url

autor

string

Attributes:

Elements:

Page 32: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig Eigenschaften der Speicherung der Graphenstruktur

Schemabeschreibung – Zur Speicherung nicht erforderlich

Dokumentrekonstruktion – Möglich, aber sehr aufwendig

Anfragen – XML-Anfragen möglich– Angepaßte Datenbankanfragen

Weitere Besonderheiten– Anfragen über vielen Elementen/Attributen sind aufwendig

Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte XML-

Anwendungen

Produkte – Algorithmen von Florescu/Kossmann, Bradley u.a.

Page 33: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Speicherung des DOM / 1 Informationen des

Document Object Models werden in Datenbanken gespeichert

Verwendung relationaler oder objekt-orientierter Datenbanken oder

Entwicklung eigener Speicherungsstrukturen

Comment

ProcessingInstruction

Document

DocumentFragment

DocumentType

Element

Entity

EntityReference

Notation

Text

CDataSection

DOMImplementation Node NodeList NamedNodeMap

CharacterData

Attr

Page 34: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Speicherung des DOM / 2

Methoden der Klasse Node: - getChildren() - getFirstChild() - getNextSibling() - getNodeType() - getParentNode() - getPreviousSibling() - hasChildren() Methoden der Klasse Element: - getAttributes() - getElementsByTagName(String) - getTagName() Methoden der Klasse Attribut: - getName() - getValue()

NodeID NodeType DocID ParentNode

NodeID ElementID AttributName AttributValue

PreviousSibling NextSibling FirstChild

NodeID TagName

Page 35: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig Eigenschaften der Speicherung von DOM

Schemabeschreibung – Zur Speicherung nicht erforderlich

Dokumentrekonstruktion – Möglich, aber auswändig

Anfragen – XML-Anfragen möglich– Angepasste Datenbankanfragen

Weitere Besonderheiten– Standardisierte und allgemein akzeptierte Schnittstelle

Einsatz – für daten- und dokumentzentrierte, sowie semistrukturierte

XML-Anwendungen Produkte

– infonyte (IPSI Darmstadt), eXcelon XIS (POET), ozone (SMB)

Page 36: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK LeipzigAbbildung der XML- Struktur auf relationale Datenbanken

- DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität- Datentypen

<hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

...

</adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse>

XML-Dokument HotelID Hotelname Adresse Preise

H0001 Hotel Hübner A0001 P0001

AdresseID Ort Strasse ...

A0001 Warnemünde Seestraße

PreiseID Einzelzimmer ...

P0001 198

Hotel:

Preise:

Adresse:

Page 37: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK LeipzigAbbildung der XML- Strukturauf objekt-orientierte Datenbanken

- DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität- Datentypen- Datenbanken mit vielen Nullwerten

HotelID Hotelname Adresse Preise

Ort Strasse ... einzelzimmer ...

H0001 Hotel Hübner Warnemünde Seestraße 198

Hotel:

XML-Dokument

<hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

...

</adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse>

Page 38: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig Strukturierte Speicherung in Datenbanken

Schemabeschreibung – Zur Speicherung erforderlich

Dokumentrekonstruktion – Nur eingeschränkt möglich (Protokollierung des

Abbildungsprozesses) Anfragen

– Datenbankanfragen– XML-Anfragen möglich

Weitere Besonderheiten– Föderationen mit bestehenden Datenbanken möglich

Einsatz – für datenzentrierte XML-Anwendungen

Produkte – Algorithmen: Bourret, Suciu (STORED), Shanmugasundaram u.a.– Oracle XDK (XSU), Bluestone’s XML Suite

Page 39: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Benutzerdefiniertes Mapping

- Flexible Methode- Integration von XML-Dokumenten in existierende Datenbanken- Ein Mapping muss von Benutzer spezifiziert werden

Hotel Hübner

Hotel_URLHotelpreise

Name Einzelzimmer

www.hotel-huebner.de

198Datenbank

<ClassMap>

<ToClassTable>

</ToClassTable><Table Name="Hotelpreise"/>

<ElementType Name="hotel"/><hotel url="www.hotel-huebner.de">

<hotelname>Hotel Hübner</hotelname> <adresse> <ort>Warnemünde</ort>

... </adresse> <preise> <einzelzimmer>198</einzelzimmer>

</preise>...

</hotel>

<strasse>Seestraße</strasse><PropertyMap>

<ToColumn>

</ToColumn></PropertyMap><PropertyMap>

<ToColumn>

</ToColumn></PropertyMap>...

<Attribute Name="url"/>

<Column Name="Hotel_URL"/>

<ElementType Name="hotelname"/>

<Column Name="Name"/>

</Classmap>

XML-Dokument Mapping Vorschrift

Page 40: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig Speicherung mittels benutzerdefiniertem Mapping

Schemabeschreibung – Zur Speicherung erforderlich

Dokumentrekonstruktion – Meist nicht möglich (Voraussetzung: Protokollierung des

Abbildungsprozesses, vollständige Abb.) Anfragen

– Datenbankanfragen– XML-Anfragen in Ausnahmefällen möglich

Weitere Besonderheiten– Integration in bestehende Datenbanken möglich

Einsatz – für datenzentrierte XML-Anwendungen

Produkte – DB2 XML Extender, Oracle XDK, Oracle 9iR2

Page 41: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Hybride Ansätze

Auswahl

unterschiedlicher

Speicherungsmethoden

für verschiedene

Dokumentanteile

Hotel

0381/5434-0

Ort Strasse Telefon

Strand Hotel Hübner Warnemünde Seestraße

komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt

Sie finden unser elegant und

und Ostsee.

<hotel>

<adresse><plz>18119</plz>

<nummer>12</nummer> <telefon>0381/5434-0</telefon>

</adresse> <hausbeschreibung> Sie finden unser elegant und

</hotel>

komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt und Ostsee. </hausbeschreibung>

<hotelname>Strand Hotel Hübner</hotelname>

<ort>Warnemünde</ort> <strasse>Seestraße</strasse>

Page 42: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Beschränkungen der Ansätze (1) Speicherung als Ganzes

– Locking nur auf Dokumentebene möglich– Bearbeitung von Teildokumenten schwieriger– oft nur proprietäre Lösungen implementierbar– Einschränkungen bei Anfragen (z.B. wertbasierte Suche)

Speicherung der Dokumentstruktur (bei Abbildung der Graphstruktur in Relationen):

– Anfragesprache: nur SQL keine adäquaten Anfragekonstrukte Anfrageformulierung schwierig Änderungen auf SQL-Ebene können Struktur des Dokuments

zerstören– schlechte Performance

Shredding der Relationen ->komplexe Joins umfangreiche Sperren)

Page 43: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Beschränkungen der Ansätze (2) strukturierte Speicherung in Datenbanken

– Dokumente mit a priori bekanntem Schema, d.h. geringe Flexibilität bei Schemaänderung

– unterschiedliche Schemamächtigkeit Rekursion? Mixed Content?

– Keine vollständige Abbildung von Dokumenten Reihenfolgeerhaltung Prolog, Kommentare, Processing Instructions

– strukturorientierte Anfragen schwierig

Page 44: Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen

© Prof. T. Kudraß, HTWK Leipzig

Abschließende Frage

verschiedene Ansätze unter

einem Dach (in relationaler

Datenbank), z.B. Oracle

oder

Umstieg auf native

XML-Datenbanksysteme ?