XML in relationalen Datenbanken

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Datenbankzugriff im WWW (Kommerzielle Systeme)
Dipl.- Dok. Rusalka Offer
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
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.
DOM (Document Object Model)
Seminar XML und Datenbanken Sven Wiegelmann SS 2002.
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.
Eine Biografie aus ADB/NDB als XML Datenbanken vs. Markup Prof Dr. Manfred Thaller WS 2009 / 2010 Referent: Bilal Erkin.
HTML - Eine erste Annäherung
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
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.
XML Standardisierungen und Abfragesprachen
Speicherung von XML- Dokumenten als Large Objects.
Einführung XML XML Einführung Andreas Leicht.
Datenbanken und XML Vortrag: Oliver Klein Seminar Weltweite Datenbanken WS 2000/01 CvO Universität Oldenburg.
Access 2000 Datenbanken.
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
Tobias Högel & Dennis Böck,
Einführung und Überblick
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?
... und alles was dazugehört
Architektur und Funktionalitäten der Oracle XML DB - ein Überblick mit ausgewählten praktischen Beispielen - im Rahmen des 17. Workshop Grundlagen von.
XSLT.
Vortrag HTML, XHTML, DHTML
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
XML - Konzepte XHTML XML Base XPath XInclude XLink XForms XPointer
Einsatzgebiete und Anwendungen
Erstellen einer Webseitenstatistik mithilfe eines OLAP-Servers
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Sesame Florian Mayrhuber
Daniel Kucher Proseminar XHTML. 1. HTML – Struktur und Versionen 2. Der – Teil 3. Der – Teil 4. Stylesheets (CSS) – Das Rückrat von XHTML.
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.
Einführung in Datenbankmodellierung und SQL
Oliver Spritzendorfer Thomas Fekete
XML und Datenbanken © 2006 Markus Röder
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
Trust and context using the RDF- Source related Storage System (RDF‑S3) and easy RQL (eRQL) Karsten Tolle und Fabian Wleklinski.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Structured Query Language
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Datenbanken im Web 1.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
1 Java und XML Stephan Baldes Warum XML? In welchem Format wurden die Daten gespeichert? Bernd;Thomas;3;5;1987;Freiburg;Karlsruhe Peter;Maier;7;9;1980;Karlsruhe;Freiburg.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
Document Type Definitions (DTDs) Marko Harasic Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
(Structured Query Language)
 Präsentation transkript:

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

XML in relationalen Datenbanken Inhalt des Vortrags Einführung in XML und RDBMS Verbreitung, Motivation 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 Inhalt Tobias Webelsiep © 2003

Einführung Relationale Datenbanken Informationen XML XML in relationalen Datenbanken 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 Einführung Tobias Webelsiep © 2003

Verbreitungsgrad Verbreitung relationaler Datenbanken: XML in relationalen Datenbanken Verbreitungsgrad 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 Einführung Tobias Webelsiep © 2003

XML – eXtensible Markup Language XML in relationalen Datenbanken XML – eXtensible Markup Language XML wurde 1996 vom W3C (World Wide Web Consortium) vorgeschlagen 10.02.1998 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 XML – eXtensible Markup Language Tobias Webelsiep © 2003

Warum XML? HTML (Hyper Text Markup Language) Vorteile von XML XML in relationalen Datenbanken Warum XML? 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 XML – eXtensible Markup Language Tobias Webelsiep © 2003

Aufbau und Struktur Struktur Aufbau XML in relationalen Datenbanken 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 XML – eXtensible Markup Language Tobias Webelsiep © 2003

Syntax – Beispiel (1) XML in relationalen Datenbanken Stylesheet-Deklaration <?xml-stylesheet href="buchliste.xsl" type="text/xsl"?> Kommentar <!-- Ich bin ein Kommentar, den keiner sieht --> Tags Zu jedem Start-Tag muss ein Ende-Tag angegeben werden. Es gibt das Leere Elemente: <LeerTag/> Attribute Können beliebig zu jedem Element angegeben werden XML – eXtensible Markup Language Tobias Webelsiep © 2003

Syntax – Beispiel (2) XML in relationalen Datenbanken Entity-Referenzen Stehen für spezielle Zeichen & -> & < -> < > -> > &qout; -> “ &apos; -> ‘ CDATA Die Zeichen innerhalb von CDATA werden nicht unter- sucht (wie Kommentar), aber angezeigt. <![CDATA[Ich schreibe < und & wie ich will]]> XML – eXtensible Markup Language Tobias Webelsiep © 2003

DTD oder XML Schema? DTD (Document Type Definition) XML in relationalen Datenbanken DTD oder XML Schema? 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 XML – eXtensible Markup Language Tobias Webelsiep © 2003

DTD oder XML Schema - Beispiel XML in relationalen Datenbanken DTD oder XML Schema - Beispiel DTD <!ELEMENT buchliste (buch+)> <!ELEMENT buch (isbn, autor, titel, verlag, erscheinungsjahr)> <!ATTLIST buch ausgabe (t|g|r) ’g’> <!ELEMENT autor (#PCDATA)> <!ELEMENT titel (#PCDATA)> XML Schema <xsd:element name="buchliste" type="buch"/> <xsd:element name="buch> <xsd:complexType> <xsd:sequence> <xsd:element name="autor" type="xsd:string"/> <xsd:element name="titel" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="ausgabe" value="g" type="xsd:string"/> XML – eXtensible Markup Language Tobias Webelsiep © 2003

XSL Transformation Elemente von XSLT XML in relationalen Datenbanken 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 <xsl:template> XPath – zur Navigation XSLT Muster <xsl-tamplate match=“buch“> XSLT Funktionen – zur Typumwandlung, Arthmetik XML – eXtensible Markup Language Tobias Webelsiep © 2003

XSLT - Beispiel Umwandlung von XML in HTML XML in relationalen Datenbanken XSLT - Beispiel Umwandlung von XML in HTML <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:template match="/"> <html> <head> <title>Buchliste</title> </head> <body> <h1>Buchliste</h1> <table> <tr> <td><b>Buch<b></td> </tr> <xsl:apply-templates/> </table> </body> </html> </xsl:template> ... <xsl:template match="buchliste"> <xsl:apply-templates/> </xsl:template> <xsl:template match="buch"> <tr> <td><xsl:value-of select="child::buch"/></td> </tr> XML – eXtensible Markup Language Tobias Webelsiep © 2003

XPath – XML Navigator XQuery: Für Zugriff auf Dokumentsammlungen XML in relationalen Datenbanken XPath – XML Navigator XPath wurde zusammen mit XSLT entwickelt Mit XPath-Ausdrücken können Teile des Baumes selektiert werden Beispiel: <xsl:value-of select="autor"/> 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 XML – eXtensible Markup Language Tobias Webelsiep © 2003

Speicherverfahren von XML in RDBMS XML in relationalen Datenbanken 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: <Absatz> Normaler Text <fett> Fetter Text </fett> Text </Absatz> Für Reihenfolge von Elementen benötigt man Zusatzinformationen Die Unterscheidung von Subelement und Attribut ist schwierig Speicherverfahren von XML in RDBMS Tobias Webelsiep © 2003

Von XML zu SQL Transformation über XSLT-Skript XML in relationalen Datenbanken Von XML zu SQL 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 Speicherverfahren von XML in RDBMS Tobias Webelsiep © 2003

Der CLOB – Ansatz Vorteile von CLOB Nachteile dieser Speichermethode XML in relationalen Datenbanken Der CLOB – Ansatz 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. Speicherverfahren von XML in RDBMS Tobias Webelsiep © 2003

Abbildung XML auf Relationenschema (1) XML in relationalen Datenbanken Abbildung XML auf Relationenschema (1) 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 Speicherverfahren von XML in RDBMS Tobias Webelsiep © 2003

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

Ausgabe rel. Daten im XML-Format XML in relationalen Datenbanken Ausgabe rel. 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 <TABLE> <ROW> <COLUMN> ... </COLUMN> ... <COLUMN> ... </COLUMN> </ROW> ... </TABLE> Nachteile Ausgabe strukturierter Daten über eine normale SQL-Abfrage nicht möglich  Erweiterung von SQL nötig Ausgabe relationaler Daten im XML-Format Tobias Webelsiep © 2003

Vorschlag des SQL-Komitees XML in relationalen Datenbanken Vorschlag des SQL-Komitees 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 <autor id={id}> <name> {name} </name> <buchliste> {buchLst} </buchliste> </autor> Ausgabe relationaler Daten im XML-Format Tobias Webelsiep © 2003

Schnittstellen der DB-Hersteller XML in relationalen Datenbanken Schnittstellen der DB-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 <?xml version="1.0"?> <xsql:query connection="oracle" xmlns:xsql="urn:oracle-xsql"> SELECT ’Hello, World!’ AS text FROM DUAL </xsql:query> Schnittstellen der Datenbank-Hersteller Tobias Webelsiep © 2003

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

Microsoft SQL Server 2000 Erweiterung zur Verwaltung von XML XML in relationalen Datenbanken Microsoft SQL Server 2000 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 RAW: Erstelle eine flache Struktur (Rowset) AUTO: Je nach Komplexität (durch Joins) 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 Schnittstellen der Datenbank-Hersteller Tobias Webelsiep © 2003

DB2 XML-Extender von IBM XML in relationalen Datenbanken DB2 XML-Extender von IBM 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 Schnittstellen der Datenbank-Hersteller Tobias Webelsiep © 2003

Weitere Hersteller MySQL Sybase Adaptive Server XML in relationalen Datenbanken Weitere 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 Schnittstellen der Datenbank-Hersteller Tobias Webelsiep © 2003

Zusammenfassung XML Dokumente RDBMS mit XML-Unterstützung XML in relationalen Datenbanken 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 Zusammenfassung Tobias Webelsiep © 2003

Ausblick RDBMS vs. XML Datenbanken vs. Content Management XML in relationalen Datenbanken Ausblick 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 Zusammenfassung Tobias Webelsiep © 2003

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