Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Yvo Stultz Geändert vor über 11 Jahren
1
XML und Datenbanken
2
© 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
3
© 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
4
© 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
5
© 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.
6
© 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) 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..
7
© Prof. T. Kudraß, HTWK Leipzig Warum XML in Datenbanken XML als SGML-Nachfolger – entstehende Dokumente müssen gespeichert werden XML 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
8
© Prof. T. Kudraß, HTWK Leipzig Volltextindex und XML-Index Volltextindex Als Dateien / Clobs Speicherung der Dokumentstruktur Strukturierte Speicherung in Datenbanken Vollständiges Mapping Benutzer- definiertes Mapping Abbilden des DOM-Modells Abbildung der Graphstruktur Für dokument-zentrierte XML-Dokumente Für daten-zentrierte XML-Dokumente Für semistrukturierte XML-Dokumente Speicherung von XML-Dokumenten
9
© Prof. T. Kudraß, HTWK Leipzig Beispiel Speicherung mit Volltext-Index - bekannte Methode (älter als relationale Datenbanken) - Boolesches Retrieval (AND, OR, NOT) Verweis Warnemünde 18119 Warnemünde 12 Hotel Hübner Aus Richtung Rostock kommend... Begriff anreisebeschreibung ort Rostock hotel Seestraße
10
© Prof. T. Kudraß, HTWK Leipzig Beispiel Relationale Speicherung von XML - DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität - Datentypen Hotel Hübner Warnemünde... 198... Seestraße XML-Dokument HotelIDHotelnameAdressePreise H0001Hotel HübnerA0001P0001 AdresseIDOrtStrasse... A0001WarnemündeSeestraße PreiseIDEinzelzimmer... P0001198 Hotel: Preise: Adresse:
11
© Prof. T. Kudraß, HTWK Leipzig Beispiel Hybride Ansätze zur Speicherung 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. 18119 12 0381/5434-0 Sie finden unser elegant und komfortabel eingerichtetes 4-Sterne Hotel direkt an der Strandpromenade von Warnemünde mit Blick auf Leuchtturm, Hafeneinfahrt und Ostsee. Strand Hotel Hübner Warnemünde Seestraße
12
© Prof. T. Kudraß, HTWK Leipzig XSQL XML + SQL Bestandteil des Oracle XDK (XML Development Kit) XML-formatierte Ausgabe von relational gespeicherten Daten in jedem DBMS verfügbar Grundidee: – relational gespeicherte Daten als XML darstellen – Einbettung von SQL-Anweisungen in XML – Weiterverarbeitung mittels XSL-Stylesheets möglich
13
© Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis von SQL Queries erlaubt Insert-, Update- und Delete-Operationen unterstützt XSL Transformation durch Anwendung von XML Stylesheets, beliebige Zielformate wie z.B. HTML dient als Input für den XSQL Page Processor Trennung der Daten von der Darstellung
14
© Prof. T. Kudraß, HTWK Leipzig XSQL Page Verarbeitung Bestandteile XSQL Pages – SQL Queries – DML und DDL in XML Tags XSQL Page Processor (in Java) – nimmt XSQL Pages als Input – erzeugt dynamische XML Seiten mit den Ergebnissen der SQL- Queries XSQL Servlet – erlaubt XSQL Page Verarbeitung im Web Erweiterbare Stylesheets – optional – XSL Transformationen zur Formatierung des Output
15
© Prof. T. Kudraß, HTWK Leipzig Verarbeitung von XSQL Pages SELECT Hello World AS greeting FROM DUAL SELECT Hello World AS greeting FROM DUAL XSQL Page Input XML Output Hello World Hello World Einführendes Beispiel
16
© Prof. T. Kudraß, HTWK Leipzig XSQL Queries und Connections XSQL Page erlaubt die Definition von SQL Queries Query ist eingebettet in ein xsql:query Tag Connection-Attribut definiert die Verbindungsinformaiton zur Datenbank Connection Name wird aufgelöst in einer Konfigurationsdatei XSQLConfig.xml (in xsql/lib ) Beispiel xuser jdbc:oracle:thin:@localhost:1521:mydb oracle.jdbc.driver.OracleDriver... xuser jdbc:oracle:thin:@localhost:1521:mydb oracle.jdbc.driver.OracleDriver...
17
© Prof. T. Kudraß, HTWK Leipzig XSQL Page Processor Architektur XSL Stylesheet XSQL Page XML o.a. Formate XSQLConfig Datenbank XSQL Page Processor XSLT XML Parser XML Utility JDBC
18
© Prof. T. Kudraß, HTWK Leipzig Überblick über XSQL Tags
19
© Prof. T. Kudraß, HTWK Leipzig Anpassung von XSQL Queries rowset-elementElementname für Anfrageergebnis; leerer String, wenn kein Elementname gewünscht row-elementElementname für jede Zeile im Anfrageergebnis; leerer String, wenn kein Name gewünscht max-rowsMaximalanzahl von Zeilen, die vom Ergebnis ausgegeben werden sollen, sinnvoll z.B. für Top-N-Queries skip-rowsAnzahl von Zeilen, die übersprungen werden soll vor Darstellung des Ergebnisses id-attributeAttributname für id-Attribute für jede Zeile im Anfrageergebnis id-attribute- column Zu nutzender Spaltenname, um den Wert des id-Attributs in jeder Ergebniszeile zu liefern null-indicatorWenn auf y oder yes gesetzt: Null-Indicator-Attribut bei den Elementen genutzt, dessen Wert NULL ist Attribute für xsql:query :
20
© Prof. T. Kudraß, HTWK Leipzig XSQL Query Parameter Beispiel: Deklaration einer parametrisierten Query in einer XSQL Page Die Parameterwerte können in einer URL geliefert werden, z.B.: http://localhost/xsql/demo/emp.xsql?find=A&sort=SAL <xsql:query connection=demo xmlns:xsql=urn:oracle-xsql find=% sort=ENAME null-indicator=yes> SELECT * FROM EMP WHERE ENAME LIKE %{@find}% ORDER BY {@sort} <xsql:query connection=demo xmlns:xsql=urn:oracle-xsql find=% sort=ENAME null-indicator=yes> SELECT * FROM EMP WHERE ENAME LIKE %{@find}% ORDER BY {@sort}
21
© Prof. T. Kudraß, HTWK Leipzig Aufruf XSQL Page Processor Kommando- Zeile Java Applikation XSQL Servlet Java Server Page XSQL Page Processor
22
© Prof. T. Kudraß, HTWK Leipzig Aufruf XSQL von der Kommandozeile Beispiel1 Lese Fluginformation von San Francisco mittels xsql Command Line Utility >xsql airport.xsql airport=sfo xml-stylesheet=none Beispiel2 Es hängt von der XSQL Page ab, welche Aktion ausgeführt werden sollen Ausführung einer Insert-operation, 2. Parameter gibt die XML Quelle an, die durch XSQL Page eingefügt werden soll, dafür kann URL verwendet werden >xsql insertnewsstory.xsql posted-xml=http://www.news.com/source
23
© Prof. T. Kudraß, HTWK Leipzig XSQL Servlet Environment Web Server mit Servlet Engine XSQL Page Processor XSQL Servlet JDBC http Oracle DB Web-Browser
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.