Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Strukturbasierte Abbildung von XML auf relationale Datenbanken XML & Datenbanken SS 2004 Marcel Keller."—  Präsentation transkript:

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

2 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

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

4 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

5 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

6 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

7 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

8 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:

9 Relationenschema für die DTD IDHotelnameKategorieFax 1Hotel Hübner10381-543444 IDPLZOrtStrasseNummer 118119WarnemündeSeestraße12 IDTelefon 10381-54340 10381-540 Hotel Adresse Telefon

10 Abbildung von Alternativen Elementnamen werden zu Attributnamen einer Relation Problem: Viele Nullwerte in der Tabelle (Speicherplatzverschwendung) Beispiel:........ 0381/7774 0381/7775 vertrieb@db-Solutions.de.... IDTelefonFaxEmail 10712/4455NULL 20381/77740381/7775vertrieb@db- solutions Kontakt

11 Abbildung von rekursiven Datendefinitionen........ IDNameEinwohnerzahlAusflugsziel 20Jena....33 21Weimar.... 22Kahla.... IDOrtEntfernungBeschreibung 3322......... 3321.... 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:

12 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

13 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

14 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

15 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

16 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

17 3.1. Beispiel einer Mappingvorschrift nach Ronald Bourret H0001 Hotel Huebner 18119 Warnemünde Seestrasse 12 198..... Hotel_urlNameEinzelzimmer www.hotel- huebner.de Hotel Hübner198 Preise

18 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

19 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

20 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 4000......

21 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

22 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)

23 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)

24 XML-Column und XML-Collection

25 Shredding unter Verwendung von RDB-node (Beispiel) order_keycustomer_namecuctomer_email 1Müllermüller@gmx.de part_keyorder_keypricetaxquantitycolordatemode 11100161black20.05.20041 order_tab part_tab Beispiel-DTD: relationaler Entwurf:

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

27 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

28 Fortsetzung DAD-Fragment...........................


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

Ähnliche Präsentationen


Google-Anzeigen