Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

XML in relationalen Datenbanken Tobias Webelsiep Seminarvortrag zum Seminar Allgemeine Informatik Sommersemester 2003 Betreuer: Prof. Dr. V. Klement Sommersemester.

Ähnliche Präsentationen


Präsentation zum Thema: "XML in relationalen Datenbanken Tobias Webelsiep Seminarvortrag zum Seminar Allgemeine Informatik Sommersemester 2003 Betreuer: Prof. Dr. V. Klement Sommersemester."—  Präsentation transkript:

1 XML in relationalen Datenbanken Tobias Webelsiep Seminarvortrag zum Seminar Allgemeine Informatik Sommersemester 2003 Betreuer: Prof. Dr. V. Klement Sommersemester 2003 Betreuer: Prof. Dr. V. Klement

2 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Inhalt des Vortrags XML – eXtensible Markup Language XML Struktur, DTD, XML Schema, XSLT, XPath Speicherverfahren von XML in RDBMS XSLT-Skript, CLOB, Relationenschema Ausgabe relationaler Daten im XML-Format Darstellung von Tabellen, SQL-Erweiterung XML-Schnittstellen der Datenbank-Hersteller Oracle 9i, MS SQL Server, IBM-DB2 XML Extender Ausblick und Zukunftsperspektiven Einführung in XML und RDBMS Verbreitung, Motivation Inhalt

3 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Einführung Relationale Datenbanken Das Medium zur Speicherung von Daten Einfacher Zugriff durch SQL Informationen Starke Wandlung seit Benutzung des Internets Flexibilität, Austauschbarkeit und Plattformunabhängigkeit sind wichtig XML Ist eine Beschreibungssprache von Dokumenten wie HTML Strukturiert Informationen zum Datenaustausch

4 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Verbreitungsgrad Einführung Verbreitung relationaler Datenbanken: Sind fast in jedem Anwendungsgebiet einsetzbar Erweiterung durch das objekt-relationale Modell Sehr große Anzahl von Internet-Datenbanken Anwendungsgebiete von XML Ideal zur Transformation in Internet-Formate (HTML, PDF, …) Spezielle Auszeichnungssprachen (Ausprägung von XML): BSML (Bioinformatic Sequence Markup Language) MathML (Mathematical Markup Language) AIML (Astronomical Instrument Markup Language) RDBMS und XML treffen in der Praxis häufig aufeinander

5 XML in relationalen Datenbanken Tobias Webelsiep © 2003 XML – eXtensible Markup Language XML wurde 1996 vom W3C (World Wide Web Consortium) vorgeschlagen als Version 1.0 standardisiert XML ist eine Ableitung von SGML (Standard Generalized ML) Einige Ziele des Designs: Leichte Benutzung fürs Internet Soll ein plattformunabhängiges Format sein Design soll prägnant und leicht zu erlernen sein Leichte Erstellung von Dokumenten Dokumente solle leicht lesbar und verständlich sein

6 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Warum XML? XML – eXtensible Markup Language HTML (Hyper Text Markup Language) HTML ist eine Beschreibungssprache für Internetseiten Das Aussehen der Information wird definiert Festgelegte Tags, die viel Spielraum erlauben Vorteile von XML Tags sind frei wählbar, je nach Anwendungsgebiet Die Struktur und die Semantik von Dokumenten wird hervorgehoben Dem Dokument werden Meta-Daten hinzugefügt Die Interpretation ist fest definiert

7 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Aufbau und Struktur XML – eXtensible Markup Language Struktur Zentrale Struktur ist der Baum Gleichartige Informationen im Dokument werden zusammen- gefasst Jedes XML Dokument hat die gleiche interne Struktur Aufbau Jedes XML Dokument muss mit der XML Deklaration beginnen Jedes Dokument besitzt genau eine Wurzel

8 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Syntax – Beispiel (1) XML – eXtensible Markup Language Stylesheet-Deklaration Kommentar Tags Zu jedem Start-Tag muss ein Ende-Tag angegeben werden. Es gibt das Leere Elemente: Attribute Können beliebig zu jedem Element angegeben werden

9 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Syntax – Beispiel (2) XML – eXtensible Markup Language Entity-Referenzen Stehen für spezielle Zeichen & -> & < -> > &qout; -> ' -> CDATA Die Zeichen innerhalb von CDATA werden nicht unter- sucht (wie Kommentar), aber angezeigt.

10 XML in relationalen Datenbanken Tobias Webelsiep © 2003 DTD oder XML Schema? XML – eXtensible Markup Language DTD (Document Type Definition) Legt den Aufbau eines XML Dokuments fest Bestimmt Abhängigkeiten und Reihenfolge Anzahl von Elementen: ?, +, * bzw. durch | Vorteile von XML Schema Ist selbst wieder ein XML Dokument Angabe von Datentypen (Zahl, Datum usw.) möglich Die Definition vom XML Schema durch eine DTD oder XML Schema möglich Angabe von Namensräumen zur Vermeidung von Konflikten

11 XML in relationalen Datenbanken Tobias Webelsiep © 2003 DTD oder XML Schema - Beispiel XML – eXtensible Markup Language DTD XML Schema

12 XML in relationalen Datenbanken Tobias Webelsiep © 2003 XSL Transformation XML – eXtensible Markup Language Ist wiederum ein XML Dokument XSL ist eine Stylsheetsprache (eXtensible Stylesheet Language) Erlaubt die Umwandlung von XML Dokumenten in beliebige Formate Elemente von XSLT XSLT Elemente - zu Definition XPath – zur Navigation XSLT Muster XSLT Funktionen – zur Typumwandlung, Arthmetik

13 XML in relationalen Datenbanken Tobias Webelsiep © 2003 XSLT - Beispiel XML – eXtensible Markup Language Umwandlung von XML in HTML Buchliste Buchliste Buch...

14 XML in relationalen Datenbanken Tobias Webelsiep © 2003 XPath – XML Navigator XML – eXtensible Markup Language XPath wurde zusammen mit XSLT entwickelt Mit XPath-Ausdrücken können Teile des Baumes selektiert werden Beispiel: Direkte Angabe eines Elementnamens Erweiterungen von XPath: XQuery: Für Zugriff auf Dokumentsammlungen XPointer: Zur Verlinkung von Dokumenten Implementierungen in Java und RDBMS Ähnliche APIs: DOM und SAX

15 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Speicherverfahren von XML in RDBMS Schwierigkeiten bei der Speicherung Die Baumstruktur ist nicht mit dem relationalen Modell vereinbar Komplexe Strukturen wie Abhängigkeiten, Rekursion und Mehrwertigkeit müssen abgebildet werden Gemischte Inhalte schwer abzuspeichern: Normaler Text Fetter Text Text Für Reihenfolge von Elementen benötigt man Zusatzinformationen Die Unterscheidung von Subelement und Attribut ist schwierig

16 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Von XML zu SQL Speicherverfahren von XML in RDBMS Transformation über XSLT-Skript Einfache Möglichkeit ohne spezielle DB-Unterstützung Vorgehen nach folgendem Schema: Erstellen einer passenden Tabelle mittels CREATE-Statement Umwandlung des XML Dokuments in ein INSERT-Statement Speichern der Daten über SQL Probleme bei diesem Ansatz Nur flache Hierarchien möglich Keine Unterscheidung von Attributen und Subelementen Bei Bedingungen und Rekursion nicht anwendbar

17 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Der CLOB – Ansatz Speicherverfahren von XML in RDBMS Vorteile von CLOB Speicherung eines XML Dokuments als Character Large Object Kein Verlust von Metainformationen Zugriff auf eine Tabellenspalte zum Auslesen des gesamten Dokuments Nachteile dieser Speichermethode Beschränkter Zugriff auf Teile des Dokuments Navigation durch Baumstruktur benötigt spezielle Funktionen Die Auswahl von Teilbäumen nur mit Volltextsuche oder speziellen XML Suchen der DB-Hersteller.

18 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Abbildung XML auf Relationenschema (1) Speicherverfahren von XML in RDBMS Orientierung von Dokumenten Dokument-Orientiert: Ist auf die Einteilung und Strukturierung der Dokumente ausgerichtet Komplexe Hierarchie und Struktur Daten-Orientiert: Spezialisiert auf den Datenaustausch Flache Hierarchie, einfache Struktur Vorteile Zugriff auf Teile über normale SQL-Abfragen Alle Vorzüge der RDBMS (Views, Indices usw.) nutzbar Elemente eines Typ werden in einer Tabelle verwaltet

19 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Abbildung XML auf Relationenschema (2) Speicherverfahren von XML in RDBMS Vorschrift zur Speicherung (1) Eine Tabelle für jeden Elementtyp mit Subelementen bzw. gemischtem Inhalt (2) Eine separate Tabelle für jeden Elementtyp mit gemischtem Inhalt zur Speicherung des PCDATA-Anteils (3) Für jedes einwertige Attribut und Subelement, das nur PCDATA enthält eine Spalte. Die Spalte muss NULL akzeptieren (4) Für jedes mehrwertige Attriburte und Subelemente eine eigene Tabelle und verknüpfe sie mit Tabelle des Elementtyps. (5) Verknüpfe für jedes Subelementtyp oder gemischten Inhalt die Tabelle des Elementtyps mit der Tabelle des Subelements.

20 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Ausgabe rel. Daten im XML-Format Ausgabe relationaler Daten im XML-Format Ausgabe als Rowset Ausgabe der Ergebnistabelle einer SQL-Abfrage Vergleichbar mit HTML Tabelle Durch XSLT später in ein beliebiges Format trans- formierbar Beispiel Nachteile Ausgabe strukturierter Daten über eine normale SQL-Abfrage nicht möglich Erweiterung von SQL nötig

21 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Vorschlag des SQL-Komitees Ausgabe relationaler Daten im XML-Format Erweiterung des SQL-Standards um XML Zugriffsfunktionen In einem Select-Statement können eigene XML Funktionen angegeben werden SELECT autor.name, autorFkt(autor.ID, autor.name, buchLst(autor.ID)) FROM autor Erstellung der Funktion AutorFkt: CREATE FUNCTION autorFkt (id INTEGER, name VARCHAR(50), buchLst CLOB(10000)) RETURNS CLOB(10000) LANDUAGE XML RETURN {name} {buchLst}

22 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Schnittstellen der DB-Hersteller Schnittstellen der Datenbank-Hersteller Die meisten Datenbank-Hersteller haben eigene XML- Schnittstellen Es werden immer hybride Ansätze gewählt Oracle 9i Erweiterte Abfragesprache XSQL zur Generierung von XML Dokumenten aus relationalen Daten. Aufbau der Abfrage als XML mit integriertem SQL-Statement SELECT Hello, World! AS text FROM DUAL

23 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Oracle 9i Schnittstellen der Datenbank-Hersteller Übersicht XSLT Prozessor XML Parser XPath Engine Intermedia XMLType XSU

24 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Microsoft SQL Server 2000 Schnittstellen der Datenbank-Hersteller Erweiterung zur Verwaltung von XML SQLXML als eigene Erweiterung von SQL FOR XML: Erweitert den Select-Befehl zur direkten Ausgabe der Ergebnistabelle als XML Dokument mit verschieden Modi o RAW: Erstelle eine flache Struktur (Rowset) o AUTO: Je nach Komplexität (durch Joins) o EXPLICIT: Angabe der Hierarchie bei der Ausgabespalte OPENXML: Ist ein spezieller Befehl zum Manipulieren von XML innerhalb der Datenbank-Tabelle. (Insert, Update) XRD-Schema: Ermöglicht den Zugriff über XPath.NET Integration und Unterstützung

25 XML in relationalen Datenbanken Tobias Webelsiep © 2003 DB2 XML-Extender von IBM Schnittstellen der Datenbank-Hersteller Speicherung als CLOB XMLVARCHAR: Speichert ein XML Dokument in Tabellenspalte XMLCLOB: Als spezielle DB-Datei. Einzelne Element können in einer Seitentabelle für schneller Zugriff gespeichert werden. XMLFile: externe Datei mit der DB verlinkt DAD: Speichert Zusatzinformationen aus XML Schema Abbildung auf Relationenschema Zugriff über DB2 eigene stored procedures dxxGenXML(): Erzeugt XML aus relationalem Datenmodell dxxShredXML(): Speichert ein XML Dokument als Relationenschema

26 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Weitere Hersteller Schnittstellen der Datenbank-Hersteller MySQL Weit verbreitet Open Source Datenbank enthält keine Erweiterung für XML Speicherung als CLOB möglich, aber keine speziellen Such- und Zugriffsfunktionen vorhanden Sybase Adaptive Server Möglichkeiten zur Ausgabe von rel. Daten als Rowset Speicherung von XML Dokumenten über spezielle JAVA-APIs

27 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Zusammenfassung XML Dokumente Eigenen sich bestens zum Datenaustausch Strukturieren Informationen Können in ein beliebiges Format transformiert werden RDBMS mit XML-Unterstützung SQL-Komitee um Standardisierung bemüht Direkte Speicherung als CLOB wird hinreichen unterstützt Einige Tools zur Abbildung in Relationenschema verfügbar

28 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Ausblick Zusammenfassung RDBMS vs. XML Datenbanken vs. Content Management XML Datenbanken speziell auf XML ausgerichtet Speicherung "normaler" Daten nicht möglich RDBMS Zusatz-Tool zur Verwaltung von XML Abbildung von XML auf Relationenmodell möglich Content Management Enthält zusätzliche Verwaltungsinformation Verwaltung von Dokumentsammlungen

29 XML in relationalen Datenbanken Tobias Webelsiep © 2003 Danke für Ihre Aufmerksamkeit


Herunterladen ppt "XML in relationalen Datenbanken Tobias Webelsiep Seminarvortrag zum Seminar Allgemeine Informatik Sommersemester 2003 Betreuer: Prof. Dr. V. Klement Sommersemester."

Ähnliche Präsentationen


Google-Anzeigen