Strukturbasierte Abbildung von XML auf relationale Datenbanken XML & Datenbanken SS 2004 Marcel Keller.

Slides:



Advertisements
Ähnliche Präsentationen
Partitionierungstechniken in Datenbanksystemen
Advertisements

Datenbankdesign mit ACCESS.
[01] - ERM Modellierung I Basiselemente von E-R-Diagrammen kennen
Objekt – Relationales – Modell Tomasz Makowski IN
MySQL.
der Universität Oldenburg
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
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
FH-Hof Effizienz - Anweisungen für Indexstrukturen Richard Göbel.
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
AGXIS – Ein Konzept für eine generische Schnittstellenbeschreibung Dr.-Ing. Ulrich Hussels, RISA GmbH 07. Juni 2005 Workshop Umweltdatenbanken 2005.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Datenbankentwurf mit Hilfe des ER-Modells entwickeln
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Relationaler Datenbankentwurf (I)
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 2 2 Motivation XML-Dokumente können für sehr verschiedene Anwendungen eingesetzt werden.
Datenbanken und XML Vortrag: Oliver Klein Seminar Weltweite Datenbanken WS 2000/01 CvO Universität Oldenburg.
Was ist eine Datenbank? ermöglicht die Eingabe von Daten
Datenbanken 13: Objekt-Klasse-Datenbank
Datenbanken 10: Einfügen, Ändern, Löschen
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Datenbankentwurfsprozess
2.2 Definition eines Datenbankschemas (SQL-DDL)
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 -
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
objekt-relationale Datenbanken
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.
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
Relationale Datenbanken III
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
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
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Ihr Trainer: Gerold Hämmerle
XML und Datenbanken © 2006 Markus Röder
XML in relationalen Datenbanken
verstehen planen bearbeiten
Normalisierungsprozess
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
SS 2014 – IBB4B Datenmanagement Do 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
XML und Datenbanken Textbasierte Abbildung von XML auf Datenbanken Sebastian Roolant.
1 Zahlreiche Transformationen - Achtung Hochspannung Meike Klettke.
XML – Grundlagen und Anwendungen Teil 4: Modellierung von Datenmodellen mit XML-Schema Prof. Dr. Michael Löwe, FHDW Hannover.
Seminar Ingenieurdatenbanken WS 04/05 Dr. Schallehn, Prof. Paul, Dipl.-Inf. Fröhlich {eike | paul | iti.cs.uni-magdeburg.de.
Was ist eine Datenbank „MS Access“
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
Vom Konzept zur Datenbank
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
SQL Lutz KleinostendarpJOBELMANN-SCHULE Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer.
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
Key-Value Paare (KVP) - Metadaten für Kanäle speichern und nach MDF4 exportieren PM (V1.0)
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
SQL Basics Schulung –
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Strukturbasierte Abbildung von XML auf relationale Datenbanken XML & Datenbanken SS 2004 Marcel Keller

Inhalt des Vortrags 1.Einführung in das Thema –1.1 Motivation –1.2 Art der zu speichernden Dokumente 2.Automatisches Mapping –2.1. Prinzipielle Abbildungsvorschrift –2.2. Anfragen –2.3. Eigenschaften 3.Benutzerdefiniertes Mapping –3.1. Abbildungsvorschrift –3.2. Anfragen –3.3. Eigenschaften 4. Was machen die Hersteller? –4.1.Oracle 9i –4.2. IBM DB2

1.1.Motivation Warum XML in DB speichern? Bewährte Datenbanktechnologie nutzen: –Transaktionsmanagement –Logging und Recovery –Synchronisation –Integritätsregeln –Anfrageoptimierung XML RDBS

Einordnung der strukturbasierten Abbildung Benutzerdefiniertes Mapping Textbasierte Abbildung Vollständiges Automatisches Mapping Strukturbasierte Abbildung Modellbasierte Abbildung Speicherung von XML- Dokumenten Klettke/Meyer Shanmugasundaram et al Deutsch/Fernandez/Suciu:STORED Bourret Oracle 9i XSU Bourret Deutsch/Fernandez/ Suciu:STORED IBM DB2 Extender

1.2. Art der zu speichernden XML-Dokumente Abbildung auf DB-Struktur besonders geeignet für datenzentrierte XML- Dokumente Bei XML als Medium zum Datenaustausch zwischen Systemen sehr strukturierte Daten Beispiele: Übermittlung von Bestellungen, Produktdaten usw. Leichte Abbildung in relationales Schema möglich Gemischte Inhalte treten selten auf Reihenfolge von Geschwisterelementen spielt in der Regel keine Rolle Hierarchische Strukturen lassen sich auf mehrere Tabellen mit entsprechenden Fremdschlüsselbeziehungen abbilden

2. Automatisches Mapping DTD,XML-Schema muss vorhanden sein Datenbankentwurf richtet sich nach Struktur der Dokumente automatische Abbildung eines Schemas von XML-Dokumenten auf Datenbankschema mit Hilfe einer Defaultmappingvorschrift Das Bedeutet:XML-Strukturen werden von allgemeingültigem, vom Schema unabhängigem, Konzept umgesetzt bildet ganzes XML-Dokument ab

2.1. Prinzipielle Abbildungsvorschrift nach Klettke/Meyer XML-InformationDatenbank-Information ElementWurzelelementRelation mit eindeutiger ID Normales XML-ElementAttribut einer Relation Sequenz von ElementenAttribute einer Relation Alternative von ElementenAttribute einer Relation Element mit Quantifizierer ?Attribut einer Relation, Nullwerte möglich Elemente mit Quantifizierer + oder * Relation mit eindeutiger ID und Element ist Attribut der Relation Komplex strukturiertes (geschachteltes) Element,also Element mit Subelementen Relation mit eindeutiger ID wobei Subelemente Attribute der Relation AttributXML-AttributAttribut einer Relation #IMPLIEDNullwert erlaubt #REQUIREDNullwert nicht erlaubt Defaultwert

Anwendung der Vorschrift CREATE TABLE Hotel ( ID INTEGER PRIMARY KEY, Hotelname VARCHAR(50) NOT NULL, Kategorie INTEGER NOT NULL, Adresse VARCHAR(5) NOT NULL, Telefon VARCHAR(5) NOT NULL, Fax VARCHAR(30) NOT NULL ); CREATE TABLE Adresse ( ID INTEGER PRIMARY KEY, Plz INTEGER NOT NULL, Ort VARCHAR(50) NOT NULL, Strasse VARCHAR(30) NOT NULL, Nummer INTEGER NOT NULL, FOREIGN KEY (ID) references Hotel (ID) ); CREATE TABLE Telefon ( ID INTEGER NOT NULL, Telefon VARCHAR(30) NOT NULL, PRIMARY KEY (ID,Telefon), FOREIGN KEY (ID) references Hotel (ID) ); Beispiel-DTD: Datenbankentwurf:

Relationenschema für die DTD IDHotelnameKategorieFax 1Hotel Hübner IDPLZOrtStrasseNummer WarnemündeSeestraße12 IDTelefon Hotel Adresse Telefon

Abbildung von Alternativen Elementnamen werden zu Attributnamen einer Relation Problem: Viele Nullwerte in der Tabelle (Speicherplatzverschwendung) Beispiel: / /7775 IDTelefonFax 10712/4455NULL solutions Kontakt

Abbildung von rekursiven Datendefinitionen IDNameEinwohnerzahlAusflugsziel 20Jena Weimar Kahla.... IDOrtEntfernungBeschreibung Ort Ausflugsziel DTD's können beispielsweise rekursiv sein Unendliche Rekursion auf der Instanzenebene einer Datenbank nicht möglich Vorgehensweise: Aufspaltung in separate Tabellen Verwendung von Primär-/Fremdschlüssel Beispiel:

Abbildung von Elementordnungen Dokumentordnung von XML-Dokumenten aus DB nicht erkennbar Reihenfolge kann aber von Bedeutung sein (Beispiel:Wissenschaftliche Publikationen) In diesen Fällen: zusätzliches ordnungserhaltendes Attribut Beispiel: Einführung Theoretische Grundlagen Konzeption Beispiel Zusammenfassung OrdnungKapitel 1Einführung 2Theoretische Grundlagen 3Konzeption 4Beispiel 5Zusammenfassung

Darstellung von Mixed-Content Speicherung von Mixed-Content-Elementen in relationalen Datenbanken sehr umständlich Keine effizienten Anfragen möglich Selten bei datenzentrierten Dokumenten Andere Form der Speicherung wählen bei häufigem Vorkommen! Beispiel: Sie können unser Haus auf verschiedenen Wegen erreichen: per Bahn: 1km ab Bahnhof Warnemünde per Auto: 19km ab Autobahn A19 Rostock-Berlin Sie finden uns direkt an der Uferpromenade. Ordnung#PCDATABahnAuto 1Sie können unser Haus auf verschiedenen Wegen erreichen: NULL 2 per Bahn: 1km ab Bahnhof WarnemündeNULL 3 per Auto: 19km ab Autobahn A19 Rostock-Berlin 4Sie finden uns direkt an der Uferpromenade. NULL

2.2. Anfragen Datenbankanfragen mit SQL: –Struktur der Datenbank muss bekannt sein –Joins, Aggregatfunktionen usw. lassen sich ausführen –Optimierung übernimmt das DBMS XML-Anfragen mit den XML-QL:XPath oder XQuery: –Prozess der Abbildung XML auf Datenbank muss protokolliert sein –Datenbankanfrage für XML-Anfrage muss automatisch generiert werden können –Ergebnis für die XML-Anfrage muss generiert werden können

2.3. Eigenschaften der Speicherung mit automatischem Mapping Schemabeschreibung (DTD o.XML- Schema) erforderlich DokumentrekonstruktionNur eingeschränkt möglich (Protokollierung des Abbildungsprozesses nötig) AnfragenSQL- und XML-Anfragen (Transformation) sind möglich EffizienzHoch durch Einsatz der DB-Engine EinsatzFür datenzentrierte XML-Dokumente Weitere BesonderheitenErhalten der Dokumentordnung nur über zusätzliches Attribut OODBS/ORDBS erlauben natürlichere Abbildung der Elementhierarchien Änderung des XML-Schemas erfordert Anpassung der DB Oft großes Schema & schwach gefüllte Datenbanken (Nullwerte) Speicherung von Alternativen,Mixed-Content-Typ, Rekursion problematisch Speicherung von Elementen vom Typ ANY nicht möglich Speicherung von Kommentaren,PI‘s,Prolog und der DTD nicht möglich Bei DTD Anpassung der DB-Attributtypen vom Anwender nötig

3. Benutzerdefiniertes Mapping Art der Speicherung in der Datenbank konnte bisher nicht beeinflusst werden Mappingvorschrift spezifiziert welche Informationen aus XML- Dokument auf welche Datenbankstruktur abgebildet wird (vollständig oder nur Ausschnitt) Sehr flexible Methode Unabhängiges Entwerfen von XML-Schema und Datenbankschema möglich Speicherung von XML-Dokumenten in existierende Datenbanken möglich Zusammenführen von XML-Dokumenten mit in anderer Form gespeicherter Daten möglich Erstellen von Mappingvorschrift erfordert großen manuellen Aufwand

3.1. Beispiel einer Mappingvorschrift nach Ronald Bourret H0001 Hotel Huebner Warnemünde Seestrasse Hotel_urlNameEinzelzimmer huebner.de Hotel Hübner198 Preise

3.2. Anfragen Datenbankanfragen mit SQL: –Struktur der Datenbank muss bekannt sein XML-Anfragen: (nur sehr eingeschränkt) –Nur möglich wenn Abbildungsprozess in Metadaten protokolliert wird –Alle für Anfrage relevanten Daten müssen dabei gespeichert sein –Problem:unvollständige Speicherung,Art der Speicherung gegenüber Originaldokument stark verändert

3.3. Eigenschaften der Speicherung mit benutzerdefiniertem Mapping Schemabeschreibung (DTD o.XML- Schema) erforderlich Dokumentrekonstruktionmeist nicht möglich (Protokollierung des Abbildungsprozesses nötig,vollständige Abbildung) AnfragenSQL-Anfragen möglich XML-Anfragen in Ausnahmefällen möglich EffizienzHoch durch Einsatz der DB-Engine EinsatzFür datenzentrierte XML-Dokumente Weitere BesonderheitenErhalten der Dokumentordnung nur über zusätzliches Attribut Änderung des XML-Schemas erfordert Anpassung der Mappingvorschrift Zusammenhang von Elementen und Attributen eines XML- Dokumentes kann verloren gehen sehr variable Methode Speicherung in bestehende Datenbanken möglich Verantwortung für das Mapping liegt beim Anwender

4. Was machen die Hersteller? 4.1. Oracle 9i (automatisches Mapping) –Shredding Storage zur strukturierten Speicherung von XML- Dokumenten –Programm XSU (XML SQL Utility) kann Ergebnisse von SQL- Anfragen in XML ausgeben und Daten aus XML-Dokumente in Tabellen einlesen (Export & Import von XML-Daten) Oracle DB 234 Müller

Import von XML-Daten mit XSU –Import: Name der bestehenden Tabelle und des XML-Dokumentes müssen als Parameter an XSU übergeben werden XSU erzeugt automatisch SQL-Insert-Befehle XML- und relationales Schema müssen exakt übereinstimmen Ist dies nicht der Fall, Anpassung des relationalen Schemas oder Transformation des XML-Dokumentes mit XSLT

DB2 XML-Extender (ab V.7.1. Bestandteil): –2 Zugriffs- bzw. Speicherungsformen für XML: XML-Collection ( ): Abbildung auf relationale Strukturen XML-Column: XML-Datentyp,Speicherung von ganzen XML-Dokumenten oder Fragmenten –Genaue Form der Speicherung wir in DAD-Datei (Document Access Definition) beschrieben –DAD-Datei ist XML-formatiertes Dokument welches auf Client gespeichert ist 4.2. IBM DB2 UDB (benutzerdefiniertes Mapping)

Weitere Eigenschaften der DAD-Datei DAD-Datei muss beim Aktivieren einer XML-Collection (Gruppe relationaler Tabellen die XML enthalten) angegeben werden dxxEnableCollection(): Eingabe: DB-Name, Name der Collection, DAD als CLOB, Tablespace Stored-Procedures: dxxShredXML(): Eingabe: DAD-Datei und XML-Objekt (!Tabellen müssen vorhanden sein!) dxxInsertXML():Eingabe: Name der aktivierten XML-Collection, XML- Objekt Verwendung von in DAD: 2 Abbildungsmethoden: SQL-Zuordnung (nur bei Export) RDB-node-Zuordnung (Import & Export)

XML-Column und XML-Collection

Shredding unter Verwendung von RDB-node (Beispiel) order_keycustomer_namecuctomer_ part_keyorder_keypricetaxquantitycolordatemode black order_tab part_tab Beispiel-DTD: relationaler Entwurf:

XML-Dokumentstruktur und mögliche Zuordnung von Elementen/Attributen zu Spalten von relationalen Tabellen: order_tab part_tab

DAD-Fragment:Zerlegung mit Xcollection & RDB_node dxx_install_verz/samples/dad/getstart.dtd YES ?xml version="1.0"?</prolog ! DOCTYPE Order SYSTEM "dxx_install_verz /samples/db2xml/dtd/getstart.dtd" order_tab.order_key = part_tab.order_key </attribute_node dxx_install_verz/samples/dad/getstart.dtd YES ?xml version="1.0"? ! DOCTYPE Order SYSTEM "dxx_install_verz/samples/db2xml/dtd/getstart.dtd" order_tab.order_key = part_tab.order_key

Fortsetzung DAD-Fragment