Title: XML und Datenbanken Speicherungsmethoden
1XML und DatenbankenSpeicherungsmethoden
- Meike Klettke
- meike_at_informatik.uni-rostock.de
- www.xml-und-datenbanken.de
2Inhalt
- Anforderungen an die Speicherung
- Motivation der Existenz verschiedener Varianten
- Vorstellung verschiedener Speicherungsverfahren
- Speicherung und Indizierung
- Speicherung der Graphstruktur
- strukturierte Speicherung in Datenbanken
- Hybride Verfahren
- Weiterführende Literatur
3Anforderungen an die Speicherung von
XML-Dokumenten
- Nach (Fiebig, Kanne, Moerkotte)
- Effektive Speicherung
- Effizienter Zugriff auf XML-Dokumente oder Teile
davon - Transaktionsverwaltung
- Unterstützung von XPath und XQuery
- Unterstützung von SAX und DOM für Anwendungen
- Wiederherstellbarkeit der Dokumente (oder der
Informationen aus den Dokumenten)
4Unterteilung von XML-Dokumenten
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
dokumentzentrierte Anteile Beispiele
Veröffentlichungen, Amazon
ltordergt ltcustomergtMeyerlt/customergt
ltpositiongt ltisbngt1-234-56789-0lt/isbngt
ltnumbergt2lt/numbergt ltprice currencyEurogt30.0
0lt/pricegt lt/positiongt lt/ordergt
ltcontentgt XML builds on the principles of two
existing languages, ltemphgtHTMLlt/emphgt and
ltemphgtSGMLlt/emphgt to create a simple mechanism
.. The generalized markup concept .. lt/contentgt
ltbookgt ltauthorgtNeil Bradleylt/authorgt
lttitlegtXML companionlt/titlegt ltisbngt1-234-56789-0
lt/isbngt ltcontentgt XML builds on the
principles of two existing languages,
ltemphgtHTMLlt/emphgt and .. lt/contentgt lt/bookgt
5Speicherungsmethoden
- Vorstellung von verschiedenen Methoden
- Grundprinzip der Speicherung
- Eigenschaften
- Anfragemöglichkeiten
- Dabei Klassifikation bekannter Methoden
6Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
Volltext- und XML-Index
Volltextindex
Information Retrieval Suchmaschinen Text Extender
- Oracle Text - DB2 Text Extender -
Informix Text Data Blades
7Exkurs Information Retrieval
- Volltextindizierung grundlegende Technologie im
Information Retrieval - Eingesetzt bei der Verarbeitung von
- Textdokumenten
- Universitätskatalogen oder in
- Suchmaschinen
- überall hinter solchen Feldern
8Gewünschte Suchfunktionalität
- wo findet man Informationen über
objektrelationale Datenbanken? - wo ist der Begriff Information Retrieval
definiert? - wo ist der Zusammenhang zwischen Datenbanken und
Information Retrieval erläutert? - was sind Biomembranen?
- die Verarbeitung solcher Informationen Inhalt
des Gebietes Information Retrieval (nach Norbert
Fuhr inhaltsbasierte Suche in Texten) - beachten muss man Effizienz, in der Regel liegen
große Textmengen zugrunde - Anwendung in Suchmaschinen, spezielle
Anforderungen dabei
9Typische Suchfunktionalität google
10Suchfunktionalität Bibliothek
11man sucht also ein Dokument..
- zum Beispiel html, pdf, ps, in dem die in der
Suche angegebenen Begriffe auftauchen - Computer versteht die Texte nicht, man kann
also nur danach suchen, welche Wörter in den
Texten vorkommen, wie oft, in welchem
Zusammenhang ...
HTML-Dokument
lta hrefgt ... Information Retrieval ...
Datenbanken ... Information ... Web ...
Datenbank
12Überblick über die Dokumentverarbeitung /1
- Such doch mal im Internet danach ...
- Notwendigkeit eines Indexes
- damit Anfragen effizient ausgeführt werden können
- Inhaltsbasierte Suche in Volltexten
- Deskribierung
- Recherche
- Ergebnispräsentation
132. Überblick über die Dokumentenverarbeitung
Recherche Suche von Textdokumenten nach
Vorgabe von Dokumentdeskriptoren
Bewertung Ordnung der gefundenen Dokumente nach
ihrer Güte Ranking, Relevance Feedback
Deskribierung manuelle und automatische Verfahren
zur Anreicherung des strukturierten Textes mit
Deskriptoren
14Indexbildung /1
- Suchmaschinen für das WWW realisieren eine
Indexbildung über Webseiten - Übrigens Information-Retrieval-Systeme und
Datenbanksysteme führen ebenfalls eine
Indexbildung nach der Speicherung von Dokumenten
durch - Bei Indexbildung muss bereits feststehen, welche
Arten von Informationen angefragt werden und wie
die Anfragen aussehen - Anfragen sind zeitkritisch, Indexbildung nicht !
15Deskribierung
Recherche Suche von Textdokumenten nach
Vorgabe von Dokumentdeskriptoren
Bewertung Ordnung der gefundenen Dokumente nach
ihrer Güte Ranking, Relevance Feedback
Deskribierung manuelle und automatische Verfahren
zur Anreicherung des strukturierten Textes mit
Deskriptoren
16Indexbildung /2
- aus den Dokumenten werden die relevanten
Stichworte extrahiert, diese fließen in den Index
ein
lta hrefgt ... Information Retrieval ...
Datenbanken ... Information ... Web ...
Datenbank
Datenbank Datenbanken Information,
2 Retrieval Web
17Implementierung als invertierte Liste
d4(50)
d1(300)
Term i
d3 (15)
d2(25,30)
Term j
d2(45)
Dokumente d1..dn
Term k
d1(435)
d2(335)
- verschiedene Optimierungen dieser
Indexstrukturen - Anfragen sind zeitkritisch, die Indexbildung
nicht, - Ziel sind also effiziente Zugriffe
18Übersicht über Verfahren zur Deskribierung
- statistische, wortbasierte Verfahren
- Häufigkeit von Wörtern auswerten
- linguistische Verfahren
- Stammwortreduktion
- Erkennen von Satzzusammen-
- hängen
- wissensbasierte Verfahren
- Klassifikationen, Thesauren, Ontologien
Index
Deskribierung
19Häufigkeit der Terme auswerten / 1
- Stoppwortliste eliminiert sehr häufige Worte
- (diese würden sehr viele Einträge im Index
bewirken, sind aber für die Recherche ungeeignet) - Beispiele 10 häufigste Begriffe im Deutschen
- der, die, und, in, den, von, zu, das, mit, sich
- sehr seltene Begriffe werden gestrichen
- (haben zwar die höchste Selektivität, würden die
Anzahl der Begriffe im Index stark erhöhen und
sind für die Recherche zu speziell) - Beispiele (aus Heuer, Saake, 2000)
- BadHilfskraft
- Datenbankimplmentierung
20Häufigkeit der Terme auswerten / 2
Zipfsches Gesetz (nach George Kingsley Zipf,
1902-1950) die Verteilung der Worte in
einem Dokument richtet sich nach der
Übersicht Sortierung der Terme nach
abfallender Häufigkeit Salton, McGill,
1983 zur Suche eignen sich Begriffe mit
mittlerer Häufigkeit am besten
Häufig- keit
Rang
Diskrimi- nations- kraft der Terme
zu seltene Terme
zu häufige Terme
abnehmende Worthäufigkeit
Stoppwortliste
Eliminierung seltener Begriffe
21Bildung eines linguistischen Indexes / 1
- Motivation Suche nach dem Begriff soll auch
Deklinationen bzw. Konjugationen einbeziehen - Beispiele
- bei Eingabe des Suchbegriffes Datenbank sollen
auch Dokumente mit dem Begriff Datenbanken
gefunden werden - bei der Suche nach fehlschlagen soll auch
fehlschlug und fehlgeschlagen gefunden werden - Verfahren statt der exakten Begriffe wird die
Grundform der Terme im Dokument gespeichert - Verfahren verkleinert die invertierten Listen und
führt sprachlich zusammengehörige Terme zu einem
Eintrag zusammen
22Vorgehensweise bei der Bildung eines
linguistischen Indexes / 2
- Wortnormalisierung (Groß- und Kleinschreibung,
Umlaute) - Wortdekomposition (nur für deutsche Sprache)
- Komposita (zusammengesetzte Begriffe) werden
auseinandergenommen, - Beispiele
- West-mole, Ost-mole
- Einzel-zimmer, Doppel-zimmer, Zweibett-zimmer,
Vierbett-zimmer - Stammformreduktion, Verfahren zur Bestimmung der
Grundformen durch - Regeln (für die englische Sprache sind zahlreiche
Verfahren bekannt) oder - Wörterbücher (besonders für die deutsche Sprache
aufgrund vieler Unregelmäßigkeiten erforderlich)
23Recherche
Recherche Suche von Textdokumenten nach
Vorgabe von Dokumentdeskriptoren
Bewertung Ordnung der gefundenen Dokumente nach
ihrer Güte Ranking, Relevance Feedback
Deskribierung manuelle und automatische Verfahren
zur Anreicherung des strukturierten Textes mit
Deskriptoren
24Verfahren zur Recherche
Index
Häufigste Retrievalmodelle - Boolesches
Retrieval - Vektorraummodell -
probabilistisches Modell
Recherche
Deskribierung und Recherche müssen mit den
gleichen Methoden erfolgen (Stammwortreduktion,
Stoppwortliste)
25Boolesches Retrieval / 1
- Grundbaustein Attribut - Attributwert - Paar
- verknüpft durch and, or, not
- Nachteile relativ geringe Möglichkeiten,
Anfragen zu formulieren - oft können Benutzer die Verarbeitung der Anfrage
nicht einschätzen - z.B. wurden bei Suchmaschinen Statistiken
erhoben, dass die Anfragen durchschnittlich 1.7
Wörter enthalten
26Boolesches Retrieval / 2
27Boolesches Retrieval auf invertierten Listen
d4(50)
Term i
d3 (15)
d2(25,30)
Term j
d2(45)
d1(300)
Dokumente d1..dn
Term k
d1(435)
d2(335)
- Beispielanfragen
- k
- i or j
- i and k
- i and k and not j
28Vektorraummodell
- Dokumente und Anfragen werden als Vektoren
betrachtet - mit einem Ähnlichkeitsmaß (Abstandsfunktion)
werden zu einer Anfrage die Ergebnisdokumente
ermittelt - es gibt zahlreiche Ähnlichkeitsmaße
- Ergebnis der Ähnlichkeitsfunktion kann für das
Ranking verwendet werden
29Probabilistisches Modell
- Terme der Anfrage können gewichtet werden, damit
hat der Benutzer die Möglichkeit, wichtigere und
unwichtigere Teile einer Anfrage zu spezifizieren - Terme des Dokumentes werden ebenfalls gewichtet
- manuelle Verfahren für Indizierende stellt die
Angabe solcher Wahrscheinlichkeiten eine
schwierige Aufgabe dar - automatische Verfahren verwenden
Termhäufigkeiten, Dokumentgröße, Position des
Terms im Dokument, .. - Ähnlichkeitsfunktion liefert ebenfalls ein Ranking
30 Arten von Anfragen
- Boolesche Anfragen
- Stammformsuche
- Phrasensuche
- Proximity-Suche
- maximaler Wortabstand, im gleichen Satz mit,
Wortreihenfolge - Phonetische Suche
- Suche nach ähnlich klingenden Wörtern
- fehlertolerante Suche
- Zulassen von x Fehlern
- Berücksichtigung der Dokumentstruktur
- Wichtungsfaktoren
31Bewertung
Recherche Suche von Textdokumenten nach
Vorgabe von Dokumentdeskriptoren
Bewertung Ordnung der gefundenen Dokumente nach
ihrer Güte Ranking, Relevance Feedback
Deskribierung manuelle und automatische Verfahren
zur Anreicherung des strukturierten Textes mit
Deskriptoren
32Verfahren zur Bewertung
Index
Recherche
Bewertung
- Ranking
- Bestimmung, in welcher Reihenfolge die
ermittelten Ergebnisse präsentiert werden - Relevance Feedback
- Dialog mit dem Benutzer, bei dem eine neue
Ergebnisermittlung aufgrund von relevanter und
nicht relevanter Dokumenten ermittelt wird
33Ranking
- Aufgabe Reihenfolge für die Ausgabe der
relevanten Dokumente wird gesucht - Grundlegende Maße
- Häufigkeit des Suchterms im Dokument
- Anzahl der verschiedenen Suchterme eines
Dokumentes - Anzahl der Dokumente, in denen der Suchterm
auftritt - Dokumentgröße
- ...
- Aus Kombinationen dieser Maße ergeben sich
Rankingfunktionen - Boolesches Retrieval erlaubt kein Ranking
(Ergebnis 0 oder 1), dieses wird oft nachträglich
als 2. Schritt über der Menge der relevanten
Dokumente ermittelt.
34Ende des Exkurses
- Vorgestellt wurden
- Techniken zur Textverarbeitung
- Jetzt folgt
- Anwendung für XML-Dokumente
35Grundprinzip der invertierten Liste
Dokumente
Stichworte
Stichworte
Dokumente
1
A
3
A
D
F
1
2
B
2
3
C
C
D
B
2
1
3
2
D
3
E
A
C
D
E
1
3
F
Invertierte Speicherung
Bestimmung der Stichworte
Speicherung der Stichworte und
der Dokumente
der zugehörigen Dokumente
36Volltext-Index
lthotelgt
lthotelnamegtHotel Hübnerlt/hotelnamegt
Verweis
Begriff
ltadressegt
ltplzgt18119lt/plzgt
hotel
ltortgtWarnemündelt/ortgt
Warnemünde
ltstrassegtSeestraßelt/strassegt
Rostock
ltnummergt12lt/nummergt
ort
lt/adressegt
ltanreisebeschreibunggt
anreisebeschreibung
Aus Richtung Rostock kommend ...
lt/anreisebeschreibunggt
lt/hotelgt
- bekannte Methode (älter als relationale
Datenbanken) - Verfahren aus dem Bereich der Dokumentverarbeitun
g
37Weiteres Beispiel
Element
Term
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
nachricht
autor
nachname
Fürst
vorname
Christian
inhalt
ueberschrift
Vermarktungsfest
text
Wolfgang
38Volltext-Index
- Nicht nur Suche nach exaktem Auftreten der
Begriffe möglich, - Verwendung von
- Statistischen wortbasierten Verfahren
- (Stoppwortlisten, Streichen von selten
vorkommenden Begriffen) - Linguistischen Verfahren
- Wortnormalisierung
- (Groß-, Kleinschreibung, Getrennt- und
Zusammenschreibung, Umlaute), - Wortdekomposition durch Regeln (engl.) oder
Wörterbücher (dt.) - Stammwortreduktion
- Wissensbasierten Verfahren
- (Einsatz von Ontologien und Thesauren zur Suche
nach Synonymen sowie Über- und Unterbegriffen)
39Anfragen /1
- boolesches Retrieval
- Kombination von Anfrageteilen mit AND, OR
oder NOT Beispiele - Hotel AND Warnemünde
- (Hotel OR Pension) AND (Warnemünde OR Rostock)
- linguistische Anfragen
- Stammwortsuche, phonetische Suche,
Ähnlichkeitssuche usw.
40Anfragen /2
- Position der Stichworte im Index erlaubt weitere
Anfragen - Beispiele
- Suchbegriff 'Datenbanken' tritt vor 'XML' im
Dokument auf - der Begriff 'Information' folgt unmittelbar auf
'Retrieval - 'XML' und 'Datenbanken' treten mit einem Abstand
von höchstens 5 Wörtern auf - Ergebnis der Anfragen ist in der Regel das
vollständige Dokument - Die Anfragen sind also Suchfunktionen
- Nicht realisierbar ist jedoch
- //hoteladresse/ort/text()Warnemuende
- Nur hotel and adresse and ort and Warnemuende
41Eigenschaften des Volltext-Indexes
Schemabeschreibung Nicht erforderlich
Dokumentrekonstruktion XML-Dokumente bleiben im Original erhalten
Anfragen Anfragen des Information Retrieval
Updates Austausch der XML-Dokumente erforderlich
Weitere Besonderheiten Volltextfunktionen (SQL-MM) keine Auswertung des XML-Markups
Anwendung dokumentzentrierte XML-Anwendungen
42Systeme /1
- Suchmaschinen
- fast alle herkömmlichen Suchmaschinen verwenden
invertierte Listen zur Indexbildung - IBM DB2 Text Extender
- Text Extender, ermöglicht die Speicherung von
Volltextdokumenten innerhalb eines
Datenbanksystems - vier verschiedene Arten von Indizes können
gebildet werden, - Mögliche Suchanfragen
- Stammwortreduktion,
- exakte Suche,
- phonetische Suche,
- Ähnlichkeitssuche
43Systeme /2
- Oracle Text
- Verarbeitung von Volltext-Datentypen
- Information-Retrieval-Anfragen in Form von
speziellenSQL-Anweisungen - Mögliche Anfragen
- Stammwortreduktion
- Verwendung von Wildcards
- Ähnlichkeits- und Phrasensuche
- Ranking der Ergebnisse erfolgt
- Relevance Feedback durch den Anwender ist
möglich
44Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
Volltext- und XML-Index
Volltextindex
DB2 Text Extender Oracle Text Informix Verity
Text Search Data Blade XML-Suchmaschinen
45Volltext- und XML-Index
- XML - Struktur kann in Anfragen ausgewertet
werden
46Weiteres Beispiel
Element
Verweis
Term
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
Fürst
Christian
Mozartjahr
Vermarktungsfest
Wolfgang
Vorgänger
Ordnung
Verweis
Element
1
nachricht
1
autor
1
nachname
2
vorname
3
inhalt
1
ueberschrift
2
text
47Volltext- und XML-Index
- Strukturinformationen müssen aus dem Index
erkennbar und wiederherstellbar sein, - Zuordnung Inhalten zum Markup sowie
- Hierarchische Schachtelung und Anordnung des
Markup
48Anfragen /1
- boolesches Retrieval
- Hotel AND Warnemünde
- linguistische Anfragen
- Stammwortsuche, phonetische Suche,
Ähnlichkeitssuche usw. - Position der Stichworte im Index erlaubt weitere
Anfragen - Suchbegriff 'Datenbanken' tritt vor 'XML' im
Dokument auf - der Begriff 'Information' folgt unmittelbar auf
'Retrieval - Durch das Anlegen eines Strukturindexes lässt
sich das Markup auswerten - /unterkuenfte/hoteladresse/ort/text()Warnemuend
e or adresse/ort/text()Rostock - /unterkuenfte/hotelcontains(name/text(),Strand
49Anfragen /2
- Einsatz von XPath und XQuery ist dadurch möglich
- Anfragen, die das gesamte Dokument als Ergebnis
liefern, lassen sich einfach realisieren, - Anderenfalls muss das Dokument geparst werden und
das Ergebnis daraus generiert werden.
50Eigenschaften des Volltext- und XML-Indexes
Schemabeschreibung Nicht erforderlich
Dokumentrekonstruktion XML-Dokumente bleiben im Original erhalten
Anfragen Anfragen des Information Retrieval Auswertung des Markups in den Anfragen XML-Anfragen möglich
Updates Austausch der XML-Dokumente erforderlich
Weitere Besonderheiten Volltextfunktionen (SQL-MM)
Anwendung dokumentzentrierte und semistrukturierte XML-Anwendungen
51Systeme
- DB2 Text Extender
- Speicherung von Volltextdokumenten innerhalb
eines Datenbanksystems - Auswertung von Markup ist möglich
- Dadurch Kombination von Volltextanfragen mit
Auswertung von XML-Markup möglich - Oracle Text
- XML-Unterstützung durch Auswertung von
XML-Strukturen - bewirkt, dass Volltextanfragen und Anfragen zur
Struktur der Dokumente kombiniert werden können.
52Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
(einfache) Abbildung der Graphstruktur
Speicherung der Informationen des DOM
Neil Bradley Florescu/Kossmann Shimura/Yoshikawa/U
emura
53Speicherung der Graphstruktur / 1
- generische Speicherung der Struktur des
XML-Dokumentes - werden mehrere XML-Dokumente in der Relation
gespeichert, muss noch eine ID des XML-Dokumentes
in der Relation ergänzt werden
54Weiteres Beispiel
ID Element Wert Ordnung Vorgänger
n001 nachricht 1 -
n002 autor 1 n001
n003 nachname Fürst 1 n002
n004 vorname Christian 2 n002
n005 agentur dpa 3 n002
n006 e-mail fuerst_at_dpa.de 4 n002
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
Element Attribut Typ Wert
n001 id xsID ID0001
n001 bedeutung xsint 4
n002 autor_id xsID A0001
55Speicherung der Graphstruktur /2
- Verwendung von Relationen zur Speicherung von
Elementen und Attributen - Elemente
- DocID Elementname Typ Wert Ordnung
Verweis auf Vorgänger - Attribute
- Attributname Typ Wert
Verweis auf Element - Damit ist die Zuordnung von Inhalten zur
Struktur, sowie die vollständige
Wiederherstellung der Struktur möglich
56Speicherung der Graphstruktur /3
- DTD nicht erforderlich
- für einfache Anfragen verwendbar
- Durch Erweiterungen können Datentypen adäquat
gespeichert und ausgewertet werden - komplexere Anfragen über zwei oder mehr Elemente/
Attribute sind nicht effizient
57Anfragen
- Angepasstes SQL, durch Datenbankschema bestimmt
- Beispiel
- (Hotels in Warnemünde)
- select a.wert
- from Elemente a, Elemente b
- where (a.element
- 'hotelname') and
- (b.element'ort') and
- (b.wert'Warnemünde') and
- (a.DocIDb.DocID)
Elements
Element
Wert
Type
Descendant-of
DocID
d0001
hotel
adresse
d0001
plz
int
18119
d0001
ort
string
Warnemünde
d0001
string
strasse
Seestrasse
d0001
58Anfragen
- XML-Anfragen sind möglich,
- werden intern auf SQL-Anfragen (unter
Berücksichtigung der Speicherstruktur) umgesetzt, - Ergebnis der XML-Anfrage wird aus Ergebnis der
Datenbankanfrage generiert
SQL
XML- Anfragen
59Eigenschaften der Speicherung der Graphstruktur
Schemabeschreibung Nicht erforderlich
Dokumentrekonstruktion Möglich, aber sehr aufwändig
Anfragen XML-Anfragen möglich angepasste Datenbankanfragen
Updates effizient realisierbar
Weitere Besonderheiten Anfragen über vielen Elementen und Attributen sind aufwändig
Anwendung Daten-, dokumentzentrierte und semistrukturierte XML-Anwendungen
60Systeme
- Keine kommerziellen Systeme bekannt
- Verwendung in universitären Prototypen
- Einsatz dort, weil einfache Realisierung, die
eine schnelle Abspeicherung von XML-Dokumenten
ermöglicht - Festes (und kleines) Datenbankschema
- Bei uns umgesetzt
- Diplomarbeit von Guido Rost
- Speicherung und Realisierung von XQuery
- Diplomarbeit von Björn Below
- Realisierung von Updates auf dieser Struktur
61Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
(einfache) Abbildung der Graphstruktur
Speicherung der Informationen des DOM
Richard Edwards infonyte eXcelon XIS (POET)
62Speicherung basierend auf DOM /1
DOMImplementation
Node
NodeList
NamedNodeMap
- Informationen des Document Object Models bilden
das Schema der Datenbank - Verwendung relationaler oder objekt-orientierter
Datenbanken oder - Entwicklung eigener Speicherungsstrukturen
Attr
CharacterData
Comment
Text
CDataSection
Document
DocumentFragment
DocumentType
Element
Entity
EntityReference
Notation
ProcessingInstruction
63Speicherung basierend auf 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
PreviousSibling NextSibling FirstChild
NodeID TagName
NodeID ElementID AttributName AttributValue
64Anfragen
SQL
XML- Anfragen
- DOM-Methoden
- XML-Anfragen
- Angepasste Datenbankanfragen (unter Kenntnis der
Speicherungsstruktur)
65Eigenschaften der auf DOM basierenden Speicherung
Schemabeschreibung Nicht erforderlich
Dokumentrekonstruktion Möglich, aber sehr aufwändig
Anfragen XML-Anfragen möglich angepasste Datenbankanfragen
Updates effizient realisierbar
Weitere Besonderheiten Anfragen über vielen Elementen und Attributen sind aufwändig standardisierte und allgemein akzeptierte Schnittstelle
Anwendung Daten-, dokumentzentrierte und semistrukturierte XML-Anwendungen
66Systeme /1
- Infonyte-DB
- verwendet zur Speicherung von XML-Dokumentenein
persistentes Document Object Model (PDOM) - baut aber nicht auf existierende Datenbanken auf,
sondern entwickelt Komponenten zur physischen
Speicherung, die an die XML-Dokumente optimal
angepasst sind - Anfragesprache Richtung XQuery
- Tamino
- modellbasierte Speicherung von XML-Dokumenten
- XML-Anfragen auf den gespeicherten Dokumenten
sind durch die Verwendung von XPath realisierbar - Entwicklung geht Richtung XQuery
67Systeme /2
- Sonic XML Server (früher unter den Namen eXcelon)
- verwendet zur Speicherung von XML-Dokumenten das
Document Object Model - Alle Informationen, die in dieser API enthalten
sind, werden in einer objektorientierten
Datenbank objectstore adäquat gespeichert. - Anfragen OQL
- Berkeley DB XML
- Generische Speicherung
- Indexverfahren
- Anfragen XPath, XQuery
- Metadaten können zugeordnet werden
68Systeme /3
- mittlerweile unterstützen sowohl Oracle als auch
DB2 eine native XML-Speicherung - Datentyp XML,
- Anfragen XPath, XQuery,
- Volltext- und Strukturindex, ...
69Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
Vollständiges (automatisches) Mapping
Benutzerdefiniertes Mapping
Shanmugasundaram et al. (Ronald
Bourret) (Deutsch/Fernandez/ Suciu
Stored) Klettke/Meyer POET
70Abbildung der XML-Struktur auf Struktur
relationaler Datenbanken
Hotel
HotelID Hotelname Adresse Preise
H0001 Hotel Hübner A0001 P0001
XML-Dokument
lthotel HotelID"H0001"gt lthotelnamegtHotel
Hübner lt/hotelnamegt ltadressegt
ltortgtWarnemündelt/ortgt ltstrassegtSeestraßelt/
strassegt ... lt/adressegt
ltpreisegt lteinzelzimmergt98
lt/einzelzimmergt ...
lt/preisegt lt/hotelgt
Adresse
AdresseID Ort Strasse ...
A0001 Warnemünde Seestraße
PreiseID Einzelzimmer ...
P0001 98
Preise
- DTD oder XML-Schema ist erforderlich
- - typgerechte Speicherung
71Weiteres Beispiel
nachricht
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
id bedeutung autor inhalt
ID0001 4 A0001 P0001
autor
ID autor_id nachname Vorname agentur e-mail
x00001 A0001 Fürst Christian dpa fuerst_at_dpa.de
inhalt
ID ueberschrift text
y00001 Ein Vermarktungsfest Als Wolfgang Amadeus Mozart im Alter von 35 Jahren starb, ..
72Abbildung der XML-Struktur auf objektorientierte
Datenbanken
lthotel url"www.hotel-huebner.de"gt
lthotelnamegtHotel Hübnerlt/hotelnamegt
ltadressegt ltortgtWarnemündelt/ortgt
ltstrassegtSeestraßelt/strassegt ...
lt/adressegt ltpreisegt
lteinzelzimmergt98lt/einzelzimmergt ...
lt/preisegt lt/hotelgt
XML-Dokument
HotelID Hotelname Adresse Adresse Adresse Preise Preise
HotelID Hotelname Ort Strasse ... einzelzimmer ...
H0001 Hotel Hübner Warnemünde Seestraße 98
Hotel
- DTD oder XML-Schema ist erforderlich -
typgerechte Speicherung - Datenbanken mit vielen
Nullwerten
73Weiteres Beispiel
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
- adäquatere Darstellung von hierarchischen
Informationen - gut abbildbar Sequenzen von Elementen,
Attribute - schlecht abbildbar mixed content
id bedeutung autor autor autor autor autor ...
id bedeutung autor_id nachname vorname agentur e-mail
ID0001 4 A0001 Fürst Christian dpa fuerst_at_dpa.de
74Erzeugen des Datenbankschemas für eine DTD
(straight-forward) /1
- Elemente
- XML-Element Attribut einer Relation
- Sequenz von Elementen Attribute einer Relation
- Alternative von Elementen Attribute einer
Relation - Element mit Quantifizierer ? Attribut mit
Nullwerten - Elemente mit Quantifizierer , Menge oder Liste
von Attributen - (SET OF, LIST OF)
- Geschachtelte Elemente TUPLE OF
75Erzeugen des Datenbankschemas für eine DTD
(straight-forward) /2
- Attribute
- XML-Attribut Attribut einer Relation
- IMPLIED Nullwert erlaubt
- REQUIRED Nullwert nicht erlaubt
- Defaultwert Defaultwert
76Beispiel für die straight-forward Abbildung / 1
- lt!ELEMENT book (front, body, references)gt
- lt!ATTLIST book isbn CDATA REQUIREDgt
- lt!ELEMENT front (title, author, edition?,
publisher)gt - lt!ELEMENT title (PCDATA)gt
- lt!ELEMENT author (first, second, e-mail?)gt
- lt!ELEMENT first (PCDATA)gt
- lt!ELEMENT second (PCDATA)gt
- lt!ELEMENT e-mail (PCDATA)gt
book
77Beispiel für die straight-forward Abbildung / 2
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, edition VARCHAR(20),
publisher VARCHAR(40) NOT NULL), body ...
references ... )
- XML document
- lt!ELEMENT book (front, body, references)gt
- lt!ATTLIST book isbn CDATA REQUIREDgt
- lt!ELEMENT front (title, author,
- edition?, publisher)gt
- lt!ELEMENT title (PCDATA)gt
- lt!ELEMENT author (first, second, e-mail?)gt
- lt!ELEMENT first (PCDATA)gt
- lt!ELEMENT second (PCDATA)gt
- lt!ELEMENT e-mail (PCDATA)gt
78Problemfälle bei der Abbildung Alternativen /1
- drei Speicherungsvarianten sind möglich
- 1. alle Alternativen in einer Relation
-
Beispiel lt!ELEMENT unterkunft (hotel
pension campingplatz)gt
Hotel Hotel Hotel Pension Pension Pension Pension Campingplatz Campingplatz Campingplatz
Kategorie Hotel-name ... Pensions-name Zimmer Aus--stattung Preise Klassifi- kation .. ..
79Problemfälle bei der Abbildung Alternativen /2
-
- 2. Aufspaltung in separate Relationen
-
- Hotel
- Pension
- Campingplatz
Beispiel lt!ELEMENT unterkunft (hotel pension
campingplatz)gt
Kategorie Hotel-name ...
Pensions-name Zimmer Aus--stattung Preise
Klassifi- kation .. ..
80Problemfälle bei der Abbildung Alternativen /3
Beispiel lt!ELEMENT unterkunft (hotel
pension campingplatz)gt
-
- 3. Verwendung eines Attributes vom Typ XML
- unterkunft
- ltpensiongt
- ltpensionsnamegtZum Katerlt/pensionsnamegt
- ltzimmergt...lt/zimmergt
- ...
- lt/pensiongt
- lthotelgt
- ltkategoriegt4 lt/kategoriegt
- lthotelnamegtStrand Hotel Hübner
lt/hotelnamegt - lt/hotelgt
81Problemfälle bei der Abbildung Rekursionen
- Rekursionen (in DTDs)
- Vorgehensweise
- Markieren der Knoten
- Aufspaltung in separate Relationen
- Verwendung von Referenzen (primary/foreign key)
- Beispiel
- lt!ELEMENT publications (book article
conference)gt - lt!ELEMENT book (front, body, references)gt
- lt!ELEMENT references (publications)gt
- publications publications
book
ID
book
references
references
public.
book
...
82Problemfälle bei der Abbildung Mixed Content
- ltanreisebeschreibunggt
- Sie können unser Haus auf verschiedenen Wegen
- erreichen
- ltbahngtper Bahn 1 km ab Bahnhof
Warnemündelt/bahngt - ltautogtper Auto 19 km ab Autobahn A19
- Rostock--Berlinlt/autogt
- Sie finden uns direkt an der Uferpromenade.
- lt/anreisebeschreibunggt
Ordnung PCDATA Bahn Auto
1 Sie können unser Haus auf verschiedenen Wegen erreichen
2 per Bahn 1 km ab Bahnhof Warnemünde
3 per Auto 19 km ab Autobahn A19 RostockBerlin
4 Sie finden uns direkt an der Uferpromenade.
83Problemfälle bei der Abbildung Mixed Content
- Abbildung in Relationen nur sehr schlecht
geeignet - geeignet ist in diesem Fall XML-Datentyp
84Problemfälle bei der AbbildungInhaltsmodell ANY
- lt!ELEMENT zusatzinformationen ANYgt
- Das heißt, im Element zusatzinformationen können
beliebige - Inhalte sowie alle in der DTD deklarierten
Elemente auftreten -
- ltzusatzinformationengt
- Am 31.12. stehen in ltortgtWarnemündelt/ortgt keine
Parkplätze zur Verfügung. ltbahngtDie S-Bahn
verkehrt an diesem Tag nach einem Sonderfahrplan
im 7,5-Minuten-Takt.lt/bahngt - lt/zusatzinformationengt
- Abbildung auf ein Datenbankschema?
85Anfragen
- Datenbankanfragen (Struktur der Datenbanken muss
bekannt sein) - XML-Anfragen
- Prozess der Abbildung der XML-Dokumente auf
Datenbanken muss protokolliert sein, - damit Datenbankanfragen für XML-Anfragen
generiert und Ergebnisse für die XML-Anfragen
generiert werden können.
86Vor- und Nachteile
- Vorteile bei der Speicherung strukturierter
Daten - Anfragen, Datentypen, Aggregatfunktionen, Sichten
- Integration in andere Datenbanken
- Nachteile bei der Speicherung semi- und
unstrukturierter - Daten
- großes Schema, schwach gefüllte Datenbanken,
viele Nullwerte - Keine flexiblen Datentypen, Speicherung von
Alternativen problematisch - Fehlende Information Retrieval Anfragen, keine
Volltextoperationen möglich
87Strukturierte Speicherung in Datenbanken
Schemabeschreibung Zur Speicherung erforderlich
Dokumentrekonstruktion Nur eingeschränkt möglich (Protokollierung des Abbildungsprozesses)
Anfragen Datenbankanfragen XML-Anfragen möglich
Updates Als Datenbankupdates realisierbar Updates, die Strukturen verändern bewirken aber Datenbankevolution
Weitere Besonderheiten Föderationen mit bestehenden Datenbanken möglich
Anwendung Datenzentrierte XML-Anwendungen
88Systeme
- POET
- zu jedem Element der DTD oder der
XML-Schema-Beschreibung wird eine
korrespondierende Java-Klasse erzeugt - Diese wird innerhalb des Systems gespeichert,
indem dazu eine Relation generiert wird - Ist kein Schema für eine Dokumentkollektion
vorhanden, so wird hier eine Datenbank mit festem
Schema eingesetzt. Diese Schema entspricht den
Informationen des Document Object Model. (siehe
vorn) - Oracle 8i / Oracle 9i /10g
- Zum Datenbanksystem Oracle werden seit der
Version 8i Tools angeboten, die die
XML-Speicherung unterstützen. - Bestandteil des Oracle XML Developer's Kit (XDK)
- Verfügbar sind zum Beispiel XML-Parser und
XSL-Transformator
89Speicherung von XML-Dokumenten
Speicherung als Ganzes
Speicherung der Dokumentstruktur
strukturierte Speicherung in Datenbanken
Vollständiges (automatisches) Mapping
Benutzerdefiniertes Mapping
Deutsch/Fernandez/ Suciu Stored Ronald
Bourret DB2 XML Extender
90Benutzerdefiniertes Mapping /1
- Bei allen bisherigen Methoden konnte die Art der
Speicherung nicht beeinflusst werden - Jetzt folgt eine flexible Methode
- Mappingvorschrift wird durch den Benutzer
spezifiziert - Struktur der XML-Dokumente und Datenbankschema
können unabhängig voneinander entworfen werden
(und relativ autonom sein) - Auch möglich Speicherung von XML-Dokumenten in
existierende Datenbanken
91Benutzerdefiniertes Mapping /2
92Mappingvorschrift
- Beispiel nach Ronald Bourret
- ltClassMapgt
- ltElementType Name"hotel"/gt
- ltToClassTablegt
- ltTable Name"Hotelpreise"/gt
- lt/ToClassTablegt
- ltPropertyMapgt
- ltAttribute Name"url"/gt
- ltToColumngt
- ltColumn Name"Hotel_ULR"/gt
- lt/ToColumngt
- lt/PropertyMapgt
- ...
- lt/ClassMapgt
Verbindung zwischen Elementen und Relationen
Verbindung zwischen Elementen/Attributen und
Datenbank-attributen
93Mappingvorschrift in Oracle
lt?xml version"1.0" encodingISO-8859-1?gt ltxssc
hema xmlnsxdb"http//xmlns.oracle.com/xdb
xmlnsxs"http//www.w3.org/2001/XMLSchema" targ
etNamespacehttp//www.oracle.com/xsd/auftrag.xsd
elementFormDefault"qualified" attributeFormDefa
ult"unqualified"gt ltxselement name"Auftrag"
xdbSQLName"AUFTRAG xdbSQLType"AUFTRAG_T
xdbdefaultTable"AUFTRAG_TAB"gt
ltxscomplexTypegt ltxssequencegt
ltxselement name"Auftragsnr type"xsinteger"
xdbSQLName"A_NR"
xdbSQLType"INTEGER" /gt ltxselement
name"Kunde" type"xsstring xdbSQLName"KUNDE
xdbSQLType"VARCHAR2" /gt
ltxselement name"Datum" type"xsdate
xdbSQLName"DATUM" xdbSQLType"DATE" /gt
ltxselement name"Produkt
maxOccurs"unbounded xdbSQLName"PRODUKTE"
xdbSQLType"PRODUKT_T
xdbdefaultTable"PRODUKT_TAB xdbSQLInline"fal
se"gt .... lt/xsschemagt Beispiel von Ulrike
Schwinn
94Anfragen
- Datenbankenanfragen (Struktur der Datenbanken
muss bekannt sein) - XML-Anfragen nur sehr eingeschränkt
- Prozess der Abbildung der XML-Dokumente auf
Datenbanken muss protokolliert sein, und alle für
die Anfrage relevanten Daten müssen gespeichert
sein -
95Eigenschaften
Schemabeschreibung Zur Speicherung erforderlich
Dokumentrekonstruktion Meist nicht möglich (Voraussetzungen Protokollierung des Abbildungsprozesses, vollständige Abbildung)
Anfragen Datenbankanfragen
Updates Als Datenbankupdates realisierbar Updates, die Strukturen verändern bewirken aber Datenbankevolution
Weitere Besonderheiten Integration in bestehende Datenbanken möglich XML-Dokumente und DB voneinander unabhängig
Anwendung Datenzentrierte XML-Anwendungen
96Systeme /1
- IBM DB2 XML-Extender
- Speicherung von XML-Dokumenten im Datenbanksystem
DB2 - über eine Mappingvorschrift (DAD - Data Access
Definition) wird angegeben, wie die Zuordnung von
Elementen und Attributen eines Dokuments auf die
Attribute der Datenbank erfolgen soll. - Die Syntax der DAD-Dateien ist XML
- Oracle
- objektrelationale Speicherung des XMLType
- Art der Speicherung wird durch ein annotiertes
XML-Schema beschrieben, dieses enthält eine
Zuordnung von Datenbankinformationen zu den
XML-Bestandteilen - Dadurch benutzerdefinierte Speicherung
- Zugriff auf die so gespeicherten XML-Dokumente
mit XPath oder SQL
97Systeme /2
- Microsoft SQL-Server
- speichert XML-Dokumente in Datenbanken
- anwenderdefiniertes Mapping wird verwendet, das
durch ein annotiertes XDR-Schema festgelegt wird.
- Annotationen beschreiben die Zuordnung zwischen
XML-Dokument und relationaler Datenbank, zum
Beispiel sqlrelation und sqlfield, bestimmen
die Zuordnung zwischen Elementen und Attributen
zu Datenbankrelationen und Datenbankattributen.
98Speicherung von XML-Dokumenten
Als Dateien / Clobs
Speicherung der Dokumentstruktur
Strukturierte Speicherung in Datenbanken
Volltextindex
Vollständiges Mapping
Abbildung der Graphstruktur
Volltextindex und XML-Index
Benutzer- definiertes Mapping
Abbilden des DOM-Modells
Für dokument-zentrierte XML-Dokumente
Für semistrukturierte XML-Dokumente
Für daten-zentrierte XML-Dokumente
99Was ist native Speicherung?
Als Dateien / Clobs
Speicherung der Dokumentstruktur
Strukturierte Speicherung in Datenbanken
Volltextindex
Vollständiges Mapping
Abbildung der Graphstruktur
Volltextindex und XML-Index
Benutzer- definiertes Mapping
Abbilden des DOM-Modells
Textbasierte native Modellbasierte
native Speicherung Speicherung
100Hybride Speicherung Motivation
- Es gibt eine Reihe von Methoden zur Speicherung
von XML- - Dokumenten.
- Welche eignet sich für XML-Dokumente, die sowohl
daten- als - auch dokumentzentriert sind?
- Algorithmus zur Bestimmung von daten- und
dokumentzentrierten Anteilen eines XML-Dokument - Entsprechende Speicherung
101Hybride Ansätze
- Auswahl
- unterschiedlicher
- Speicherungsmethoden
- für verschiedene
- Dokumentanteile
lthotelgt
lthotelnamegtStrand Hotel Hübnerlt/hotelnamegt
ltadressegt
ltplzgt18119lt/plzgt
ltortgtWarnemündelt/ortgt
ltstrassegtSeestraßelt/strassegt
ltnummergt12lt/nummergt
lttelefongt0381/5434-0lt/telefongt
lt/adressegt
lthausbeschreibunggt Sie finden unser elegant und
komfortabel eingerichtetes 4-Sterne Hotel
direkt an der Strandpromenade von Warnemünde
mit Blick auf Leuchtturm, Hafeneinfahrt
und Ostsee. lt/hausbeschreibunggt
lt/hotelgt
Sie finden unser elegant und
komfortabel eingerichtetes 4-Sterne Hotel
direkt an der Strandpromenade von Warnemünde
mit Blick auf Leuchtturm, Hafeneinfahrt
und Ostsee.
Hotel
Ort Strasse
Telefon
0381/5434-0
Strand Hotel Hübner
Warnemünde
Seestraße
102Weiteres Beispiel
ltnachricht id"ID0001" bedeutung"4"gt ltautor
autor_id"A0001"gt ltnachnamegtFürstlt/nachnam
egt ltvornamegtChristianlt/vornamegt
ltagenturgtdpalt/agenturgt lte-mailgtfuerst_at_dpa.
delt/e-mailgt lt/autorgt lteinordnunggt
ltrubrikgtMozartjahr 2006lt/rubrikgt ltinhaltgt
ltueberschriftgtEin Vermarktungsfest
lt/ueberschriftgt lttextgtAls Wolfgang
Amadeus Mozart im Alter von 35
Jahren starb, .. lt/textgt
lt/inhaltgt lt/nachrichtgt
nachricht
id bedeutung autor inhalt
ID0001 4 A0001 P0001
autor
ID autor_id nachname Vorname ...
x00001 A0001 Fürst Christian
ltinhaltgt ltueberschriftgtEin
Vermarktungsfest lt/ueberschriftgt
lttextgtAls Wolfgang Amadeus Mozart im
Alter von 35 Jahren starb, .. lt/textgt
lt/inhaltgt
103Hybride Datenbanken
- objekt-relationale Datenbanken mit Attributen
vom Typ XML - Beispiel
- strukturierte Anteile des XML-Dokumentes als
objekt-relationale Strukturen - unstrukturierte Anteile als Attribute vom Typ
XML
front
content
publisher
author
title
104Integration der hybriden Speicherung in die
Klassifikation
Als Dateien / Clobs
Speicherung der Dokumentstruktur
Strukturierte Speicherung in Datenbanken
Volltextindex
Vollständiges Mapping
Abbildung der Graphstruktur
Volltextindex und XML-Index
Benutzer- definiertes Mapping
Abbilden des DOM-Modells
- Erkennen von dokument- und datenzentrierten
Anteilen - Speicherung mit verschiedenen Verfahren
105Anwendungen
- Alle Multimedia-Anwendungen profitieren von einer
hybriden Speicherung - Vorgehensweise
- Multimediadokumente im Original speichern (XML)
- Metadaten strukturiert speichern
- Anwendungen
- Text
- Mecklenburger Jahrbücher
- GETESS
- Image
- eNote history (historische Notenhandschriften)
- Proteinbilder
- Audio
- KSWS? .. und diverse andere Projekte
- Video
106Systeme
- Hybride Speicherungsverfahren werden durch
Datenbank-systeme unterstützt, die mehrere
Speicherungsmöglich-keiten für XML-Dokumente
anbieten. - Oracle
- Speicherung eines XMLType als CLOB oder
objektrelational, Kombination der Varianten kann
durch entsprechende Angaben im annotierten XML
Schema erfolgen - DB2
- Speicherung von XML-Dokumenten als xmlcolumn und
xmlcollection, Kombination in der gegenwärtigen
Version nicht möglich !
107Überblick zu Speicherungsverfahren
Dokument-
verarbeitung
lt..gt
lt/..gt
Konzeptueller
lt..gt
XML
lt/..gt
Entwurf von XML-
lt/..gt
lt..gt
Dokumenten
Datenbanken
physische
logische
konzeptuelle
Ebene
Ebene
Ebene
108Zusammenfassung
- XML-Datenbanken
- Vielzahl von Verfahren und Techniken existieren
nebeneinander - oft aus den Bereichen Datenbanken und
Dokumentverarbeitung - generell es gibt keine beste Lösung für alle
XML-Dokumente - geeignetste Lösung ist abhängig von konkreten
Erfordernissen - Viele Systeme bieten mehrere Varianten an
109Literatur /1
- Neil Bradley, The XML companion, Addison Wesley,
1998 - Yoshikawa, M., Amagasa, T., Shimura, T., Uemura,
S., XRel A Path-Based Approach for Storage and
Retrieval of XML Documents Using Relational
Databases ACM Transactions on Internet
Technology, Volume 1, Nummer 1, S. 110-141, 2001 - Daniela Florescu, Donald Kossmann, Storing and
Querying XML Data Using an RDBMS, Bulletin of the
Technical Committee on Data Engineering, volume
22, number 3, September 1999, pp. 27-34 - Dieter Scheffner, Rainer Conrad Access Support
Tree TextArray A Model for Physical Storage of
XML Documents, Workshop Web-Datenbanken, 2001 - Guido Rost Implementierung von XQuery auf
objekt-relationalen Datenbanken, Diplomarbeit,
Universität Rostock, Fachbereich Informatik, 2002
110Literatur /2
- Richard Edwards, Sian Hope Persistent DOM An
Architecture for XML Repositories in Relational
Databases, Intelligent Data Engineering and
Automated Learning --- IDEAL, 2000, S. 416421 - Georg Lausen, Pedro José Marrón On Processing
XML in LDAP,Proceedings of 27th International
Conference on Very Large Data Bases, VLDB, 2001,
S. 601--610 - Jayaval Shanmugasundaram, Kristin Tufte, Gang He,
Chun Zhang, David DeWitt, Jeffrey Naughton,
Relational Databases for Querying XML Documents -
Limitations and Opportunities, Proceedings of the
25th VLDB Conference, Edinburgh, Scotland, 1999,
pp. 302-314 - Ronald Bourret, C. Bornhövd, A.P. Buchmann, A
Generic Load/ Extract Utility for Data Transfer
between XML Documents and Relational Databases,
Second International Workshop on Advanced Issues
of E-Commerce and Web-based Information Systems,
WECWIS'00
111Literatur /3
- Ronald Bourret, XML-DBMS - Middleware for
Transferring Data between XML Documents and
Relational Databases, http//www.rpbourret.com/xml
dbms/index.htm - Klemens Böhm Verwendung objektorientierter
Datenbanktechnologie zur Verwaltung
strukturierter Dokumente, Dissertation,
Technische Hochschule Darmstadt, 1997 - Meike Klettke, Holger Meyer, XML and
Object-Relational Databases - Enhancing
Structural Mappings Based on Statistics, WebDB
2000, Mai 2000 - Alin Deutsch, Mary F. Fernandez, Dan Suciu,
Storing Semistructured Data with STORED, SIGMOD
1999, Proceedings ACM SIGMOD International
Conference on Management of Data, June 1999,
Philadephia, Pennsylvania, USA, ACM Press, 1999,
pp. 431-442 - Beate Porst, Untersuchung zu Datentyperweiterungen
für XML-Dokumente und ihre Anfragemethoden am
Beispiel von DB2 und Informix, Diplomarbeit,
Universität Rostock, Fachbereich Informatik, 2000
112Literatur /4
- www.ibm.com
- www.oracle.com/xml
- Ulrike Schwinn (Oracle) XML in der Oracle
Datenbank relational and beyond, BTW 2003 - www.exceloncorp.com
- Rüdiger Eichin, Excelon Prozeßmanagement auf der
Basis von XML, Fachgruppentreffen, GI-Fachgruppe
Datenbanksysteme, Darmstadt, 2002 - eXtensible Information Server (XIS), Native XML
Data Management System, www.exceloncorp.com/produc
ts/xis/ - www.microsoft.com
113Literatur /5
- www.softwareag.com/tamino
- Harald Schöning, Jürgen Wäsch Tamino --- An
Internet Database System, Advances in Database
Technology --- EDBT 2000, LNCS 1777, S. 383387 - Walter Waterfeld Realisierungsaspekte eines XML
Datenbanksystems, BTW 2001 - www. fastobjects.com
- www.infonyte.com
- Thomas Tesch, Peter Fankhauser, Tim Weitzel
(infonyte) Skalierbare Verarbeitung von
XML-Dokumenten in Datenbanken, BTW 2003 - Meike Klettke, Holger Meyer, XML and databases,
http//www.xml-und-datenbanken.de