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

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

XSQL - Beispiel. © Prof. T. Kudraß, HTWK Leipzig Nested Cursor erzeugen in SQL-Anfragen die XML-typische Baumstruktur (anstelle von Tabellen) Beispiel:
XML - Datenbanken am Beispiel Tamino von Sven Neuberg Seminar: Verteilte Datenbanken
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Prof. Dr. Thomas Kudraß HTWK Leipzig
Objekt – Relationales – Modell Tomasz Makowski IN
Fortgeschrittenenpraktika WS 2003/04 Database Research Group, Prof. Dr. Bernhard Seeger Department of Mathematics and Computer Science University of Marburg.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
XML - Aufbau und Struktur - mit Einsatz im B2B
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Speicherung von XML-Dokumenten in Oracle
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
XML in Datenbanksystemen. © Prof. T. Kudraß, HTWK Leipzig 2 2 Warum wird XML eingesetzt? Antworten von Unternehmen: erweiterte Suchmöglichkeiten im Unternehmen.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Verwaltung von XML-Dokumenten. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen.
XML-Unterstützung in Oracle. © Prof. T. Kudraß, HTWK Leipzig 2 2 Überblick XML Architekturformen und Speicherungsarten XML Schema und Mapping Laden von.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
XML und Datenbanken. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen der.
XML und Datenbanken. © Prof. T. Kudraß, HTWK Leipzig Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden Aussehen der.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
Datenbanken und XML Vortrag: Oliver Klein Seminar Weltweite Datenbanken WS 2000/01 CvO Universität Oldenburg.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Modellbasierte Abbildung XML – SQL Vortrag von Marcus Wenzel Dozenten: Knut Stolze & Peter Müller Seminar XML und Datenbanken.
Geometrische Objekte in Datenbanken Martin Pfeifle Institut für Informatik, Universität München Lehr- und Forschungseinheit für Datenbanksysteme Prof.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
1 XML und Datenbanken Kapitel 7: Modellierung, Teil 1 Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik
XML und Datenbanken - Einführung in XML -
objekt-relationale Datenbanken
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seminar XML und Datenbanken Speicherung von XML-Werten vor SQL:2003.
Visualisierung objektrelationaler Datenbanken
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
Die Persistenzschicht
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Java für Fortgeschrittene
Überblick über die Datenbankproblematik
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Allgemeines zu Datenbanken
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Einführung in Datenbankmodellierung und SQL
XML und Datenbanken © 2006 Markus Röder
XML in relationalen Datenbanken
Kurzpräsentation von Herbert Schlechta
Semistrukturierte Daten 1
Semistrukturierte Daten 1 Präsentation: Anwendung von XML im Datenbankbereich Gruppe 5: Hubert Kosior ( ) Hubert Kosior ( ) Mikolaj Koziarkiewicz.
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Einführung Dateisystem <-> Datenbanksystem
Datenbanken im Web 1.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung.
XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant.
1 Zahlreiche Transformationen - Achtung Hochspannung Meike Klettke.
Strukturbasierte Abbildung von XML auf relationale Datenbanken XML & Datenbanken SS 2004 Marcel Keller.
Deutsche Post ITSolutions GmbH Benutzung von XML in Oracle 10g Richard Dörfler, DOAG - Trier,
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
Native XML Datenbanken vs. ORDBMS für multimediale Dokumente Seminarvortrag von Alexander Loechel Seminar: DBMS für spezielle Anwendungen.
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
 Präsentation transkript:

Verwaltung von XML-Dokumenten

© Prof. T. Kudraß, HTWK Leipzig 2 2 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

© Prof. T. Kudraß, HTWK Leipzig 3 3 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

© Prof. T. Kudraß, HTWK Leipzig 4 4 XML-Architektur physische Ebene Dokument- verarbeitung Dokumenten Entwurf von XML- Konzeptueller logische Ebene konzeptuelle XML Datenbanken Klettke / Meyer XML-Datenbanken

© Prof. T. Kudraß, HTWK Leipzig 5 5 Logische Ebene logische Ebene datenzentriert semistrukturiert dok-zentriert Datenmodell Anfragen/Updates an Inhalt XML, RDBM, OODBM XQuery, SQL, OQL Daten- und Dokumentmodell Struktur und Inhalt Anfragen/Updates an XML, OEM XQuery, Lorel Dokumentmodell Anfragen/Updates an Struktur und Inhalt XML,SGML XQuery, XPath, DOM, IR-Anfragen

© Prof. T. Kudraß, HTWK Leipzig 6 6 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 Ebene physische

© Prof. T. Kudraß, HTWK Leipzig 7 7 Architektur: physische Ebene datenzentriert semistrukturiert dok-zentriert relationale, objekt-relationale oder objekt-orientierte Datenbanken generische Speicherung von Graphen oder DOM-Informationen Dateien Volltextindex, Strukturindex Struktur auf Werteebene Struktur auf Schema- und Werteebene Struktur auf Schemaebene Ebene physische

© Prof. T. Kudraß, HTWK Leipzig 8 8 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

© Prof. T. Kudraß, HTWK Leipzig 9 9 Speicherungsmethoden (Klassifikation nach Schöning) inhaltsorientierte Zerlegung – generisch (generelle Abbildungsvorschrift) – definitorisch (Abbildungsvorschriften für einzelen Datenstrukturen) – Beispiel: Oracle (beide Varianten mit/ohne Annotations) strukturorientierte Zerlegung – Verwendung allgemeiner Datenstrukturen (z.B. DOM / Baumstruktur) – generell anwendbar auch bei unbekanntem Dokumentenschema opake Speicherung – gesamtes XML-Dokument in einer einzigen Spalte vom Typ VARCHAR oder CLOB – SQL-Zugriff nur noch eingeschränkt möglich (bestenfalls dedizierte Funktionen)

© Prof. T. Kudraß, HTWK Leipzig 10 Grundprinzip der invertierten Liste

© Prof. T. Kudraß, HTWK Leipzig 11 Volltext-Index - bekannte Methode (älter als relationale Datenbanken) - Boolesches Retrieval (AND, OR, NOT) Verweis Warnemünde Warnemünde 12 Hotel Hübner Aus Richtung Rostock kommend... Begriff anreisebeschreibung ort Rostock hotel Seestraße

© Prof. T. Kudraß, HTWK Leipzig 12 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

© Prof. T. Kudraß, HTWK Leipzig 13 Kombinierter Volltext- und XML-Index - XML - Struktur kann in Anfragen ausgewertet werden Verweis Seestraße... Vorgänger Warnemünde Element Hotel Hübner Volltext-Index XML-Index Element ort Aus Richtung Rostock kommend fahren Sie auf der hotel adresse Stadtautobahn bis nach Warnemünde strasse Term Warnemünde Rostock anreise- beschreibung

© Prof. T. Kudraß, HTWK Leipzig 14 Eigenschaften 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

© Prof. T. Kudraß, HTWK Leipzig 15 Speicherung der Graphstruktur generische Speicherung der Struktur des XML-Dokumentes Element Müller ort plz ValueTypeDescendant-of string strasse Warnemünde Seestrasse hotel string Element adresse int18119 AttributeValueType url autor string Attributes: Elements:

© Prof. T. Kudraß, HTWK Leipzig 16 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.

© Prof. T. Kudraß, HTWK Leipzig 17 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 NodeNodeListNamedNodeMap CharacterData Attr

© Prof. T. Kudraß, HTWK Leipzig 18 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() NodeIDNodeTypeDocIDParentNode NodeIDElementIDAttributNameAttributValue PreviousSiblingNextSiblingFirstChild NodeIDTagName

© Prof. T. Kudraß, HTWK Leipzig 19 Eigenschaften der Speicherung von DOM Schemabeschreibung – Zur Speicherung nicht erforderlich Dokumentrekonstruktion – Möglich, aber aufwä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)

© Prof. T. Kudraß, HTWK Leipzig 20 Abbildung der XML- Struktur auf relationale Datenbanken - DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität - Datentypen Hotel Hübner Warnemünde Seestraße XML-Dokument HotelIDHotelnameAdressePreise H0001Hotel HübnerA0001P0001 AdresseIDOrtStrasse... A0001WarnemündeSeestraße PreiseIDEinzelzimmer... P Hotel: Preise: Adresse:

© Prof. T. Kudraß, HTWK Leipzig 21 Abbildung der XML- Struktur auf objekt-orientierte Datenbanken - DTD ist erforderlich - Anfragen verwenden SQL - Funktionalität - Datentypen - Datenbanken mit vielen Nullwerten HotelIDHotelnameAdressePreise OrtStrasse...einzelzimmer... H0001Hotel HübnerWarnemündeSeestraße198 Hotel: XML-Dokument Hotel Hübner Warnemünde Seestraße

© Prof. T. Kudraß, HTWK Leipzig 22 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), Bluestones XML Suite

© Prof. T. Kudraß, HTWK Leipzig 23 Benutzerdefiniertes Mapping - Flexible Methode - Integration von XML-Dokumenten in existierende Datenbanken - Ein Mapping muss von Benutzer spezifiziert werden Hotel Hübner Hotel_URL Hotelpreise NameEinzelzimmer Datenbank Hotel Hübner Warnemünde Seestraße... XML-DokumentMapping Vorschrift

© Prof. T. Kudraß, HTWK Leipzig 24 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

© Prof. T. Kudraß, HTWK Leipzig 25 Hybride Ansätze Auswahl unterschiedlicher Speicherungsmethoden für verschiedene Dokumentanteile Hotel 0381/ 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 / 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

© Prof. T. Kudraß, HTWK Leipzig 26 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

© Prof. T. Kudraß, HTWK Leipzig 27 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

© Prof. T. Kudraß, HTWK Leipzig 28 Realisierung in Oracle seit Version 8 XML Developer Kit (XDK) seit Version 9 – spezieller Datentyp: X spezieller Datentyp: XMLType MLType – unterstützt inhaltsorientierte und opake Speicherung seit Version 10 – Integration von XQuery inhaltsorientierte Speicherung – erfordert registriertes Schema bei der Definition der XML- Spalte (Tabelle) – teilweise auch opake Speicherung möglich – Kommentare, PI und Reihenfolgeinformationen in (proprietärem) Systemattribut SYS_XDBPDS – Standardabbildung kann durch Annonationen im XML-Schema geändert werden ( xdb: )

© Prof. T. Kudraß, HTWK Leipzig 29 Strukturorientierte Zerlegung KnotennrVorgaengerPositionNameWert 100 Auftrag- 311 Auftragsposition- 431 Artikel Menge2 612 Auftragsposition- 761 Artikel Menge4

© Prof. T. Kudraß, HTWK Leipzig 30 XML-Schema-Dokument PO.xsd <element name="Auftragsposition" maxOccurs="1000">

© Prof. T. Kudraß, HTWK Leipzig 31 Inhaltsorientierte Zerlegung (Beispiel) CREATE TABLE po_tab OF XMLTYPE XMLSCHEMA " PO.xsd" ELEMENT "Auftrag" VARRAY(Auftragsposition) STORE AS Auftrag_tab; TYPE "Auftragsposition_T" (Artikel VARCHAR2(1000), Preis NUMBER); TYPE "Auftragsposition_COLL" AS VARRAY(1000) OF "Auftragsposition_T"; TYPE "Auftragstyp_T" (Auftragsnr NUMBER, Firma VARCHAR2(100), Auftragsposition Auftragsposition _COLL); Bindung des XML Schema-Dokuments an eine Tabelle Interne Erzeugung von Typdefinitionen

© Prof. T. Kudraß, HTWK Leipzig 32 Opake Abbildung in Oracle XML-Dokument mittels Typ XMLType gespeichert Storage-Option CLOB Zugriff auf den Inhalt eines Objekts von XMLType über Funktionen: – extract um das Ergebnis eines XPath-Ausdrucks zu erhalten, – getClobVal, getStringVal und getNumVal, um das Ergebnis von extract in einen SQL-Datentyp zu überführen, – extractValue, um das Ergebnis eines XPath-Ausdrucks direkt in einen SQL-Wert umzuwandeln, – existsNode, um zu prüfen, ob ein XPath-Ausdruck ein Ergebnis lie­fert. – createXML kann aus einer SQL-Zeichenkette ein Wert des Typs XML erzeugt werden (bei inhaltsorientierter Zerlegung wieder auf SQL-Tabellen abgebildet)

© Prof. T. Kudraß, HTWK Leipzig 33 Zugriff auf Objekt vom Typ XMLType (Beispiel) SELECT extractValue(value(d), '/Beschreibung) "Beschreibung" FROM Auftrag, table(xmlSequence( extract(object_value, '/Auftrag/Auftragsposition/Artikel'))) d WHERE existsNode(object_value, Auftrag[Auftragsnr=" "]')=1 entspricht dem XPath-Ausdruck: /Auftrag[Auftragsnr=" "]/Auftragsposition/ Artikel/Beschreibung