Upload
leander-kaufer
View
222
Download
0
Embed Size (px)
Citation preview
XML und Datenbanken
Textbasierte Abbildung von XML auf Datenbanken
Sebastian Roolant
Gliederung
1. Einleitung2. Die Textbasierte Abbildung
2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten
3. Zusammenfassung
Einleitung
Warum Abbildung von XML auf Datenbanken? XML nicht nur als temporäres Austauschformat sondern dauerhafte Speicherung von XML-
Dokumenten
keine zusätzliches XML-Datenbanbanksysteme sondern Speicherung in vorhandenen relationalen
Datenbanksystemen
Einleitung
Unterschiede, die überwunden werden müssen:Relational Welt XML
Die Daten sind in mehreren flachen Tabellen gespeichert. In manchen Systemen sind verschachtelte Tabellen erlaubt, aber nicht in beliebiger Tiefe.
Daten liegen in einer hierarchischen, beliebig tiefen Struktur vor
Spalten haben einen einzelnen Wert. Elemente mit Werten können mehrfach auftreten.
keine Ordnung der Tabellenzeilen Elemente sind geordnet.
Schema ist verpflichtend und vollständig. Schema ist optional und kann offen sein.
Nur im Schema beschriebene Information kann gespeichert werden.
Kommentare und Verarbeitungsanweisungen sind überall im Dokument erlaubt, ohne dass sie im Schema deklariert werden müssen.
eindeutige Struktur der Daten komplexe Inhaltsmodelle wie Auswahl (choice) und gemischter Inhalt
Einleitung
Klassifikation der Verfahren:
Einleitung
Dokumentencharakter spielt beim Einsatz der Verfahren eine wichtige Rolle
Datenzentrierte XML-Dokumente Dokumentzentrierte XML-Dokumente
In erster Linie Daten von Interesse Beinhalten Daten und Struktur der Informationen
Daten sind häufig aus anderen Informationen generiert worden
Daten sind häufig bereits ursprünglich im XML-Format erstellt worden
Bsp.: elektronische Kataloge, Bestellungen …
Bsp.: wissenschaftl. Artikel, Buchinhalte
Für Anfragen ist das Erstellen von Ergebnisdokumenten notwendig
XML-Dokumente sollen bei der Speicherung als Ganzes erhalten bleiben oder originalgetreu wiedergegeben werden können
Gliederung
1. Einleitung2. Die textbasierte Abbildung
2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten
3. Zusammenfassung
Die textbasierte Abbildung
eignet sich für dokumentzentrierte XML-Dokumente
XML-Dokumente werden als Ganzes gespeichert auch opake Speicherung genannt
keine Umwandlungsoperationen notwendig
zwei Möglichkeiten der Speicherung: als Dateien im Dateisystem als CLOBs innerhalb von Datenbanksystemen
Speicherung
XML-Dokumente als Dateien im Dateisystem
DBS XML
Anwendung
DBS hat Zugriff über Zeiger
Zugriff auch direkt von Außen möglich
Speicherung
XML-Dokumente als CLOBs in DBS
DBS
Anwendung
DBS kann direkt auf XML-Daten zugreifen
Zugriff von Außen nur über DBS möglich
CLOB
Speicherung
Anfragen durchsuchen die XML-Dokumente sequenziell
bei großen Dokumentkollektionen sehr ineffizient
Anlegen eines Indexes notwendig Effizienzsteigerung Verringerung der Antwortzeiten
Gliederung
1. Einleitung2. Die textbasierte Abbildung
2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten
3. Zusammenfassung
Indexbildung
Klassifikation der Indexbildung
Volltextindex
bekannt aus dem Information Retrieval (Bsp. Suchmaschinen)
3 Teilaufgaben des Information Retrieval:
A
B
C
D
E
F
Stichworte Dokumente
1
2
1
2
3
1
3
3
3
2
Dokumente Index Benutzerschnittstelle
Deskribierung
Recherche
Ergebnis- präsentation
Volltextindex Deskribierung: Aufbereitung von Dokumenten
statisch wortbasierte Verfahren Stoppworte Streichen seltener Begriffe
linguistische Verfahren Stammwortreduktion Wortnormalisierung Erkennen von Satzzusammenhängen
wissensbasierte Verfahren Klassifikation Thesaurus Ontologien
Volltextindex
Index wird so erstellt, dass ein schneller Zugriff auf die Informationen möglich ist
häufig mehrere Indizes für verschiedene Anfragearten
Realisierung der Indizes als invertierte Listen
Volltextindex
Indexbildung
A
B
C
D
E
F
Stichworte Dokumente
1
2
1
2
3
1
3
3
3
22
1
3
Dokumente Stichworte
A D
B
F
C D
A C D
E
Bestimmung der Stichworte in den Dokumenten
Speicherung der Stichworte und der zugehörigen Dokumente
Volltextindex<hotel>
<hotelname>Hotel Hübner</hotelname>
<adresse>
<plz>18119</plz>
<ort>Warnemünde</ort>
<strasse>Seestraße</strasse>
<nummer>12</nummer>
</adresse>
<anreisebeschreibung>
Aus Richtung Rostock kommend…
</anreisebeschreibung>
</hotel>
Begriff Verweis
hotel
Warnemünde
Rostock
ort
anreisebeschreibung
Volltextindex
Verfahren zur Recherche:
boolesche Retrieval
Vektorraummodell
prohabilistische Modell
Volltextindex
Ranking
A
B
C
D
E
F
Stichworte Dokumente
3
2
2
3
3
1
1
1
2
32
1
3
Dokumente Stichworte
A D
B
F
C D
A C D E
Bestimmung der Stichworte der Dokumente und der Häufigkeit ihres Auftretens
Speicherung der Stichworte und der zugehörigen Dokumente, sortiert nach Häufigkeit des Auftretens
Volltextindex
Anfragen des booleschen Retrievals sind möglich AND, OR und NOT über Index realisierbar
Information Retrieval Anfragen Wortstammreduktion, Ähnlichkeitssuche, Phrasensuche…
Ranking der Ergebnismengen Auftretenshäufigkeit, Position
Volltext- und Strukturindex
nur Volltextindex: keine Berücksichtigung der XML-Strukur
bei vielen Anfragen ist die Struktur aber notwendig
daher: Index wird erweitert um die hierarchische Struktur der XML-Dokumente
<hotel> <hotelname>Hotel Hübner</hotelname> <adresse>
<plz>18119</plz><ort>Warnemünde</ort><strasse>Seestraße</strasse><nummer>12</nummer>
</adresse> <anreisebeschreibung> Aus Richtung Rostock kommend… </anreisebeschreibung></hotel>
Term Verweis
Warnemünde
Seestraße
Rostock
Element
Element Verweis
hotel
adresse
ort
Ordnung Vorgänger
strasse
anreisebeschreibung
1
2
2
3
3
Volltext-Index
XML-Index
Volltext- und Strukturindex
Anfragen des booleschen Retrievals sind möglich AND, OR und NOT über Index realisierbar
Information Retrieval Anfragen Wortstammreduktion, Ähnlichkeitssuche, Phrasensuche…
Auswertung der XML-Tagstruktur
XML-Anfragesprachen einsetzbar, um die im Index gespeicherten Informationen auszuwerten
Volltext- und Strukturindex
XML‘
XPath
Anfrageauswertung
XPath
Funktionsaufruf
XML‘
DBS
XML
Index
Einsatz von Anfragesprachen
Gliederung
1. Einleitung2. Die textbasierte Abbildung
2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten
3. Zusammenfassung
Umsetzung in Produkten
alle Hersteller großer kommerzieller relationaler Datenbanksysteme unterstützen die Speicherung von XML
Lösungen variieren zwischen den Systemen
ein neuer Teil des SQL-Standards als Teil 14 wird XML-Funktionalität in SQL standardisiert Name: SQL/XML definiert u.a. einen eigenen Typ zur Speicherung von XML
Umsetzung in Produkten
DB2 UDBXML-Extender Speicherung als „XML Column“ (ADT), d.h. XML-
Dokument als Wert einer Spalte Typen dieser Spalte:
XMLVarchar für kürzere Dokumente XMLCLOB für größere Dokumente XMLFILE, um Dokumente außerhalb der Datenbank zu
speichernKontrolle durch Datenbank
Umsetzung in Produkten
DB2 UDB
Beispiel für Tabellendefinition:
CREATE TABLE Hoteluebersicht (id INTEGER NOT NULL PRIMARY KEY, Hotels db2xml.xmlclob);
Umsetzung in Produkten
Oracle Database
mit Oracle 9i wurde eine neuer systemdefinierter Objekttyp eingeführt: XMLType es kann zwischen zwei Realisierungen gewählt
werden In einer Realisierung entspricht XMLType dem
CLOB
Umsetzung in Produkten
Oracle Database
Tabelle mit einer Spalte vom Type XMLType:CREATE TABLE Hoteluebersicht
(Hotels SYS.XMLType);
elegantere Möglichkeit (keine benannten Spalten):CREATE TABLE Hoteluebersicht OF XMLTYPE;
Fkt. value(Hoteluebersicht) um Zeilen anzusprechen
Gliederung
1. Einleitung2. Die textbasierte Abbildung
2.1 Speicherung2.2 Indexbildung2.3 Umsetzung in Produkten
3. Zusammenfassung
Zusammenfassung
Methode der opaken Speicherung ermöglicht, Dokumente im Original zu erhalten
keine Umformung und somit keine Rekonstruktion der Dokumente notwendig
Index wird außerhalb der Dokumentenkollektion gespeichert, verändert die Dokumente also nicht
Zusammenfassung
Anfragen, die das gesamte Dokument liefern, lassen sich gut ausführen
anders bei Anfragen, bei denen nur ein Ausschnitt aus einem Dokument ausgegeben werden sollen gesamte Dokument muss geparst werden
geeignet für dokumentzentrierte XML-Anwendungen