XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant
Gliederung 1.Einleitung 2.Die Textbasierte Abbildung 2.1 Speicherung 2.2 Indexbildung 2.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 WeltXML 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 TabellenzeilenElemente 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 Datenkomplexe Inhaltsmodelle wie Auswahl (choice) und gemischter Inhalt
Einleitung Klassifikation der Verfahren:
Einleitung Dokumentencharakter spielt beim Einsatz der Verfahren eine wichtige Rolle Datenzentrierte XML-DokumenteDokumentzentrierte XML-Dokumente In erster Linie Daten von InteresseBeinhalten 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.Einleitung 2.Die textbasierte Abbildung 2.1 Speicherung 2.2 Indexbildung 2.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.Einleitung 2.Die textbasierte Abbildung 2.1 Speicherung 2.2 Indexbildung 2.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 StichworteDokumente IndexBenutzerschnittstelle 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 StichworteDokumente Stichworte AD B F CD ACD E Bestimmung der Stichworte in den Dokumenten Speicherung der Stichworte und der zugehörigen Dokumente
Volltextindex Hotel Hübner Warnemünde Seestraße 12 Aus Richtung Rostock kommend… BegriffVerweis hotel Warnemünde Rostock ort anreisebeschreibung
Volltextindex Verfahren zur Recherche: boolesche Retrieval Vektorraummodell prohabilistische Modell
Volltextindex Ranking A B C D E F StichworteDokumente Stichworte AD B F CD ACDE 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 Hübner Warnemünde Seestraße 12 Aus Richtung Rostock kommend… TermVerweis Warnemünde Seestraße Rostock Element Verweis hotel adresse ort OrdnungVorgänger strasse anreisebeschreibung 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.Einleitung 2.Die textbasierte Abbildung 2.1 Speicherung 2.2 Indexbildung 2.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 UDB XML-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 speichern Kontrolle 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.Einleitung 2.Die textbasierte Abbildung 2.1 Speicherung 2.2 Indexbildung 2.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