XML und Datenbanken Generieren von XML-Dokumenten

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil3.
Advertisements

Objektorientierte Datenbanken
MySQL.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
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.
Java: Objektorientierte Programmierung
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
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.
Fortgeschrittenen-Praktikum: Entwicklung und Implementierung eines webbasierten Fußball-Tippspiels mit.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
Validating XML Parser Application XML-Datei XML-Datei
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Access 2000 Datenbanken.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
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.
Grundschutztools
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.
Quilt: Eine XML Anfragesprache für heterogene Datenquellen
20:00.
Vom XML Schema zur relationalen Datenbank Seminararbeit zum Multimedia-Seminar im SS 2002 Erstellt von: Thomas Dickel.
XML-Archivierung betriebswirtschaftlicher Datenbank-Objekte*
Proseminar: „Webtechnologien für Ecommerce“
Sesame Florian Mayrhuber
XML-Query. Übersicht Was ist XML-Query? Vergleich RDB XML-Dokument Syntaktisches und Use-Cases Kritik und Diskussion.
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
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.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Symmetrische Blockchiffren DES – der Data Encryption Standard
XML und Datenbanken © 2006 Markus Röder
verstehen planen bearbeiten
XML (Extensible Markup Language)
1 (C)2006, Hermann Knoll, HTW Chur, FHO Quadratische Reste Definitionen: Quadratischer Rest Quadratwurzel Anwendungen.
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 19 Version 1.0a Programme - Zusatzsoftware Oracle: –Forms –Reports –Designer –Jdeveloper –APEX (Application Express)
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Mathematical Programming Nichtlineare Programmierung.
Eike Schallehn, Martin Endig
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
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
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Peter Brezany Institut für Softwarewissenschaften Universität Wien
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.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #4 Überführung des ER-Modells in das relationale Modell.
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
 Präsentation transkript:

XML und Datenbanken Generieren von XML-Dokumenten Meike Klettke Universität Rostock Fakultät für Informatik und Elektrotechnik meike@informatik.uni-rostock.de www.xml-und-datenbanken.de

Inhalt Generierung von XML-Dokumenten aus relationalen Datenbanken Anforderungen für vollständige Datenbanken/Relationen für Ergebnisse von SQL-Anfragen anwenderdefinierte Verfahren aus objektrelationalen Datenbanken aus beliebigen Informationen Standardisierung Datenbanksysteme Weiterführende Literatur XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Generierung von XML-Dokumen-ten aus relationalen Datenbanken am häufigsten eingesetzte Datenbanken große Datenmengen sind so bereits elektronisch gespeichert Verwendung dieser bietet sich an, wenn man XML-Dokumente erzeugen will generierte XML-Dokumente sind meist sehr regulär, gleichmäßig strukturiert datenzentriert XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Anforderungen Vollständige Abbildung von Datenbankinhalten Alle in der Datenbank vorhandenen Informationen müssen sich im XML-Dokument wiederfinden. Abbildung von Anfrageergebnissen oder Views Ausschnitt der gespeicherten Informationen, der durch eine Anfrage oder eine Sicht spezifiziert wird, wird als XML-Dokument dargestellt. Einsatz individueller Transformationsregeln Ein Ausschnitt der Daten sowie deren Struktur wird festgelegt. XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Allgemeine Problemstellungen Abbildung von: SQL/XML Standardisierung durch verschiedene Hersteller von Datenbanksystemen, Teil des SQL-Standards XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Datenbank XML-Dokument Relationen- und Attributnamen Element- und Attributnamen Datentypen Datentypen von XML Schema Daten aus Datenbanken Inhalte in XML-Dokumenten

Generieren von XML-Dokumenten aus Datenbanken XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Abbildung des vollständigen Datenbankinhaltes Abbildung von Anfrageergebnissen Einsatz individueller Transformations- vorschriften Feste Transformationsregeln Feststehende Syntax des entstehenden XML-Dokumentes Oracle DB2 SQL/XML (Standardisierung)

Vollständige Abbildung der Datenbankinhalte / 1 Datenbank: betrachtet als dreistufige Hierarchie von Datenbank - Relation - Attributen Darstellung im XML-Dokument XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur durch Elemente <Hotelinformationen> <Hotel> <HotelID>H0001</HotelID> <Name>Hotel Huebner</Name> <Kategorie>4</Kategorie> <Hoteladr>A0001</Hoteladr> </Hotel> ... <Adresse> </Adresse> </Hotelinformationen> Hotel: HotelID Name Kategorie Adresse H0001 Hotel Huebner 4 A0001 H0002 Warnemuender Hof 3 A0002 Adresse: AdresseID Ort PLZ Strasse Nr A0001 Warne-muende 18119 Seestrasse 12 A0002 Stolteraer Weg 8

Vollständige Abbildung der Datenbankinhalte / 2 Datenbank: betrachtet als dreistufige Hierarchie von Datenbank - Relation - Attributen Darstellung im XML-Dokument XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Hotel: durch Elemente und Attribute <Hotelinformationen> <Hotel HotelID='H0001' Name='Hotel Huebner' Kategorie='4' Hoteladr='A0001' /> <Hotel ... /> <Adresse ... /> </Hotelinformationen> HotelID Name Kategorie Adresse H0001 Hotel Huebner 4 A0001 H0002 Warnemuender Hof 3 A0002 Adresse: AdresseID Ort PLZ Strasse Nr A0001 Warne-muende 18119 Seestrasse 12 A0002 Stolteraer Weg 8

Vollständige Abbildung der Datenbankinhalte / 3 Datenbank: betrachtet als vierstufige Hierarchie von Datenbank - Relation - Tupel - Attributen XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur durch Elemente <Hotelinformationen> <Hotel> <ROW> <HotelID>H0001</HotelID> <Name>Hotel Huebner</Name> <Kategorie>4</Kategorie> <Hoteladr>A0001</Hoteladr> </ROW> <ROW> ... </Hotel> <Adresse> ... </Adresse> </Hotelinformationen> Hotel: HotelID Name Kategorie Adresse H0001 Hotel Huebner 4 A0001 H0002 Warnemuender Hof 3 A0002 Adresse: AdresseID Ort PLZ Strasse Nr A0001 Warne-muende 18119 Seestrasse 12 A0002 Stolteraer Weg 8

XML Schema statt DTDs /1 DTDs sind hier nicht geeignet, weil Schlüssel/Fremdschlüsselbeziehungen nur unter Umwegen darstellbar sind (globale Eindeutigkeit von IDs, lokale Eindeutigkeit von Schlüsselattribute) Datentypen sind mit DTDs nicht darstellbar, lediglich Erweiterung von DTDs um reservierte Attribute wurde einmal vorgeschlagen (hat mit XML-Schema an Bedeutung verloren) <ort xml-sqltype=´varchar´>Rostock</ort> <plz xml-sqltype=´integer´>18055</plz> XML-Prozessoren oder Applikationen müssen diese Informationen kennen und auswerten, sonst nur protokollierende Funktion XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

XML Schema statt DTDs /2 Zu den XML-Dokumenten werden XML Schemata generiert, diese können: Schlüssel und Fremdschlüssel durch key / keyref angeben Datentypen angeben, Vielzahl vordefinierter Datentypen <xs:element name=´ort´ type=´xs:string´> <xs:element name=´plz´ type=´xs:integer´> Abbildung zwischen Datentypen aus XML Schema und SQL-Datentypen wird in SQL/XML definiert XML Schema folgt in einer späteren Vorlesung XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Hierarchien aus Schlüssel- und Fremdschlüsselbeziehungen Schlüssel- und Fremdschlüsselbeziehungen werden verfolgt Hierarchien werden abgeleitet XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Hotel: HotelID Name Kategorie Adresse H0001 Hotel Huebner 4 A0001 H0002 Warnemuender Hof 3 A0002 <!ELEMENT Hotel (HotelID, Name, Kategorie?, Hoteladr)> <!ELEMENT HotelID (#PCDATA)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Kategorie (#PCDATA)> <!ELEMENT Adresse (AdresseID, Ort, PLZ, Strasse, Nr)> <!ELEMENT AdresseID (#PCDATA)> <!ELEMENT Ort (#PCDATA)> <!ELEMENT PLZ (#PCDATA)> <!ELEMENT Strasse (#PCDATA)> <!ELEMENT Nr (#PCDATA)> Adresse: AdresseID Ort PLZ Strasse Nr A0001 Warne-muende 18119 Seestrasse 12 A0002 Stolteraer Weg 8

Eigenschaften der vollständigen Abbildung des Datenbankinhaltes Ausgabe der Datenbank vollständig Erforderliche Informationen keine Variables Ausgabeformat nein Erhalt von Datentypen durch XML-Schema Speicherung von Schlüsseln durch key/keyref in XML- und Fremdschlüsseln Schemata oder Abbilden auf Hierarchien im XML- Dokument XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Generieren von XML-Dokumenten aus Datenbanken XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Abbildung des vollständigen Datenbankinhaltes Abbildung von Anfrageergebnissen Einsatz individueller Transformations- vorschriften Feste Transformationsregeln Feststehende Syntax des entstehenden XML-Dokumentes Auswahl der dazustellenden Daten durch die Datenbankanfrage Oracle DB2 Microsoft

Abbildung von Anfrageergebnissen Ergebnisse von SQL-Anfragen mit XML-Syntax ausgeben Beispiel: SELECT Name, Kategorie, Ort FROM Hotel, Adresse WHERE (Ort=‘Warnemuende') AND (Hotel.Hoteladr=Adresse.AdresseID) Ergebnis: <rowset> <row no=´1´> <Name>Hotel Huebner</Name> <Kategorie>4</Kategorie> <Ort>Warnemuende</Ort> </row> </rowset> XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Eigenschaften des Einsatzes von Datenbankanfragen Ausgabe der Datenbank Ausschnitte Erforderliche Informationen Datenbankenanfrage/ View Variables Ausgabeformat nein Erhalt von Datentypen beim Generieren von XML Schema Speicherung von Schlüsseln Bei Verwendung von und Fremdschlüsseln XML Schema XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Generieren von XML-Dokumenten aus Datenbanken XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Abbildung des vollständigen Datenbankinhaltes Abbildung von Anfrageergebnissen Einsatz individueller Transformations- vorschriften Silkroute (SQL,XML-QL) Courvoisier/ Flach (DaS) (SQL+Muster für Ergebnis) Shamnagunsadaram et. al. XPERANTO Informix (Mapping über Dialog- oberfläche) Volker Turau (DB2XML) (XSLT) Laddad (XSLT) Auswahl der dazustellenden Daten durch die Datenbankanfrage Individuelle Transformationsregeln durch den Benutzer Dadurch Spezifikation der Syntax des entstehenden XML-Dokumentes

Varianten zum Einsatz individueller Transformationsregeln XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur 1 Transformationsregeln (Anteile einer Datenbank- und XML-Anfragesprache) feste 2 2 XML-An- relationale Transforma- Datenbank tionsregeln fragesprache individuelles XML-Dokument virtuelle 3 feste XML-“Sicht“ 3 individuelles Transforma- XSLT- tionsregeln Stylesheet - XML-Constructor 1 - Database to XML Servlet standardisiertes XML-Dokument - Silkroute 2 - XPERANTO - MS-SQL-Server - XML-APIs for DB (Laddad) 3 - DB2XML

Einsatz von erweiterten Datenbank-Anfragesprachen Anteile von Datenbank- und XML-Anfragesprachen Datenbankanfrage zur Auswahl der dazustellenden Daten (= relevanten Anteile) XML-Anfrage zur Bestimmung der Syntax des Zielformates (CONSTRUCT / RETURN) XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur erweiterte Datenbankanfrage relationale Datenbank benutzerdefiniertes XML-Dokument

Einsatz von erweiterten Datenbankanfragen Anfragebeispiel: select * from hotel, adresse where (hotel.Hoteladr= adresse.AdresseID) construct <hotel> <name>{name}</name> <adresse> <plz>{plz}<plz> <wohnort>{ort}</wohnort> <strasse>{strasse}</strasse> <hausnummer>{nr}</hausnummer> </adresse> </hotel> Ergebnis: <hotel> <name>Strand Hotel Huebner</name> <adresse> <plz>18119<plz> <wohnort>Warnemuende</wohnort> <strasse>Seestrasse</strasse> <hausnummer>12</hausnummer> </adresse> </hotel> XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Verwendung von Transformations-regeln und XML-Anfragen virtuelle „Sichtweise“ auf die Daten einer Datenbank in Form eines XML-Dokuments An dieses virtuelle XML-Dokument werden XML-Anfragen gestellt. XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur relationale XML-Anfrage Datenbank virtuelle XML-Sicht individuelles XML-Dokument

Beispiel Silkroute Erzeugen der virtuellen „XML-Sicht“ construct <view> { from adresse a, hotel h construct <hotel> <name>$h.name</name> <adresse> <ort>$a.ort</ort> <plz>$a.plz</plz> <strasse>$a.strasse</strasse> <nummer>$a.nr</nummer> </adresse> </hotel> </view> XML-Anfragen über dieser XML-Sicht (XML-QL, XQuery) XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Einsatz von Transformationsregeln und XSLT Zweistufiger Prozess (Turau, Laddad) 1. Schritt: Ausgabe der vollständigen Datenbank in XML-Syntax im festen Format 2. Schritt: Einsatz von XSLT zur Auswahl der relevanten Teilinformationen und Bestimmung der Syntax des Zielformates XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Trans- XSLT relationale standardisiertes benutzerdefiniertes Datenbank XML-Dokument XML-Dokument formation

Einsatz von Transformationsregeln und DOM oder SAX-Prozessoren Weitere Möglichkeit der Verarbeitung: 1. Schritt: Ausgabe der vollständigen Datenbank in XML-Syntax im festen Format 2. Schritt: Einsatz von Programmen, die mit Hilfe von DOM-oder SAX-Prozessoren weiterverarbeitet werden XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Trans- relationale standardisiertes DOM SAX benutzerdefiniertes Datenbank XML-Dokument XML-Dokument formation

Eigenschaften des Einsatzes individueller Transformationen Ausgabe der Datenbank vollständig oder Ausschnitte Erforderliche Informationen Datenbanken sowie XQuery oder XSLT Variables Ausgabeformat ja Erhalt von Datentypen bei Verwendung von XML Schema Speicherung von Schlüsseln Bei Verwendung von und Fremdschlüsseln XML Schema XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Varianten zum Einsatz individueller Transformationsregeln viele Varianten mit verschiedener Herangehensweise aber ähnlicher Funktionalität besonders geeignet für ad-hoc-Anfragen: XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Transforma- XQuery tionsregeln SQL/XML XML- Dokument relationale XML-“Sicht“ Datenbank für sich wiederholende Transformationen: Transforma- tionsregeln SQL/XML XSLT XML- Dokument relationale XML-“Sicht“ Datenbank

Varianten zum Einsatz individueller Transformationsregeln besonders geeignet für die Weiterverarbeitung in anderen Programmen XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelationa-len Datenbanken - aus beliebigen Informationen - Systeme - Literatur Transforma- DOM/SAX tionsregeln SQL/XML XML- Dokument relationale XML-“Sicht“ Datenbank

SQL/XML Funktionen, die in den select-from-where-Block integriert werden können Dadurch Generierung von XML-Dokumenten aus Datenbanken xmlelement() xmlattributes() xmlagg() xmlconcat() xmlforest() xmlroot() xmlcomment() xmlpi()

SQL/XML /2 xmlelement() 3 Argumente: 1. Elementname, 2. (optionale) Attribute, 3. optionaler Elementinhalt xmlattributes() Argumente: Attribute: Attributnamen ergeben sich aus Attributnamen der Relation, Umbenennung mit alias, Attributwerte ergeben sich aus Werten der Datenbankattribute xmlagg() 1 Argument, das mehrere Kindelemente haben kann xmlconcat() Verbindung mehrerer Elemente (ohne gemeinsamen Parentknoten)

SQL/XML /3 xmlforest() Konstruktion eines Waldes aus XML-Dokumenten xmlroot() erzeugt einen Wurzelknoten, (gegenwärtig nicht bei db2 unterstützt) xmlserialize() xmlcomment() Erzeugt Kommentar, (gegenwärtig nicht bei db2 unterstützt) xmlpi() Erzeugt Processing Instruction, (gegenwärtig nicht bei db2 unterstützt)

SQL/XML-Beispiele Beispieldatenbank: create table student ( matrikelnummer integer not null primary key, vorname varchar(20), name varchar(30), ort varchar(30)); darin 10 Datensätze

SQL/XML-Beispiele select (xmlelement(name nachname, Name)) from student; <NACHNAME>Schulz</NACHNAME> <NACHNAME>Meyer</NACHNAME> <NACHNAME>Albrecht</NACHNAME> <NACHNAME>Heuer</NACHNAME> <NACHNAME>Lehmann</NACHNAME> <NACHNAME>Schmidt</NACHNAME> <NACHNAME>Mueller</NACHNAME> <NACHNAME>Kopmann</NACHNAME>

SQL/XML-Beispiele select (xmlelement(name student, xmlattributes(name as nachname) )) from student; <STUDENT NACHNAME="Schulz"/> <STUDENT NACHNAME="Meyer"/> <STUDENT NACHNAME="Albrecht"/> <STUDENT NACHNAME="Heuer"/> <STUDENT NACHNAME="Lehmann"/> <STUDENT NACHNAME="Schmidt"/> <STUDENT NACHNAME="Mueller"/> <STUDENT NACHNAME="Kopmann"/>

SQL/XML-Beispiele select (xmlelement(name student, xmlattributes(name as nachname, vorname) )) from student; <STUDENT NACHNAME="Schulz" VORNAME="Sebastian"/> <STUDENT NACHNAME="Meyer" VORNAME="Renate"/> <STUDENT NACHNAME="Albrecht" VORNAME="Sabine"/> <STUDENT NACHNAME="Heuer" VORNAME="Petra"/> <STUDENT NACHNAME="Lehmann" VORNAME="Annika"/> <STUDENT NACHNAME="Schmidt" VORNAME="Maria"/> <STUDENT NACHNAME="Mueller" VORNAME="Brit"/> <STUDENT NACHNAME="Kopmann" VORNAME="Andreas"/> <STUDENT NACHNAME="Lehmann" VORNAME="Thomas"/>

SQL/XML-Beispiele select (xmlelement(name student, xmlelement(name nachname, name), xmlelement(name vorname, vorname) )) from student; <STUDENT><NACHNAME>Schulz</NACHNAME><VORNAME>Sebastian</VORNAME></STUDENT> <STUDENT><NACHNAME>Meyer</NACHNAME><VORNAME>Renate</VORNAME></STUDENT> <STUDENT><NACHNAME>Albrecht</NACHNAME><VORNAME>Sabine</VORNAME></STUDENT> <STUDENT><NACHNAME>Heuer</NACHNAME><VORNAME>Petra</VORNAME></STUDENT> <STUDENT><NACHNAME>Lehmann</NACHNAME><VORNAME>Annika</VORNAME></STUDENT> ...

SQL/XML-Beispiele select (xmlelement(name student, xmlforest(name, vorname) )) from student; <STUDENT><NAME>Schulz</NAME><VORNAME>Sebastian</VORNAME></STUDENT> <STUDENT><NAME>Meyer</NAME><VORNAME>Renate</VORNAME></STUDENT> <STUDENT><NAME>Albrecht</NAME><VORNAME>Sabine</VORNAME></STUDENT> <STUDENT><NAME>Heuer</NAME><VORNAME>Petra</VORNAME></STUDENT> <STUDENT><NAME>Lehmann</NAME><VORNAME>Annika</VORNAME></STUDENT> <STUDENT><NAME>Schmidt</NAME><VORNAME>Maria</VORNAME></STUDENT> ...

SQL/XML-Beispiele select (xmlconcat ( xmlelement(name nachname, name), xmlelement(name vorname, vorname))) from student; <NACHNAME>Schulz</NACHNAME><VORNAME>Sebastian</VORNAME> <NACHNAME>Meyer</NACHNAME><VORNAME>Renate</VORNAME> <NACHNAME>Albrecht</NACHNAME><VORNAME>Sabine</VORNAME> <NACHNAME>Heuer</NACHNAME><VORNAME>Petra</VORNAME> ...

SQL/XML-Beispiele select (xmlelement(name studenten, xmlagg(xmlelement(name nachname, name)) )) from student; <STUDENTEN><NACHNAME>Meyer</NACHNAME><NACHNAME>Schulz</NACHNAME><NACHNAME>Meyer</NACHNAME><NACHNAME>Albrecht</NACHNAME><NACHNAME>Heuer</NACHNAME><NACHNAME>Lehmann</NACHNAME><NACHNAME>Schmidt</NACHNAME><NACHNAME>Mueller</NACHNAME><NACHNAME>Kopmann</NACHNAME><NACHNAME>Lehmann</NACHNAME></STUDENTEN>

Verwendung von objekt-relationalen Datenbanken /1 adäquate Abbildung von komplexen Attributen (als Tupel, Mengen oder Listen definierten) Beispiel: create row type Adresse_t ( PLZ INTEGER, Ort VARCHAR(25), Strasse VARCHAR(20), Nr INTEGER ); create table Hotel HotelID INTEGER NOT NULL PRIMARY KEY, Name VARCHAR(20) NOT NULL, Adresse Adresse_t, Telefon SET(INTEGER NOT NULL) XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur <Hotelinformationen> <Hotel> <HotelID>H0001</HotelID> <Name>Hotel Hübner</Name> <Adresse> <PLZ>18119</PLZ> <Ort>Warnemünde</Ort> <Strasse>Seestrasse</Strasse> <Nr>12</Nr> </Adresse> <Telefon>0381/5434-0</Telefon> <Telefon>0381/5434-44</Telefon> </Hotel> </Hotelinformationen>

Verwendung von objekt-relationalen Datenbanken /2 adäquate Abbildung von komplexen Attributen (als Tupel, Mengen oder Listen definierten) Beispiel: create row type Adresse_t ( PLZ INTEGER, Ort VARCHAR(25), Strasse VARCHAR(20), Nr INTEGER ); create table Hotel HotelID INTEGER NOT NULL PRIMARY KEY, Name VARCHAR(20) NOT NULL, Adresse Adresse_t, Telefon SET(INTEGER NOT NULL) XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur <!ELEMENT Hotelinformationen (Hotel*)> <!ELEMENT Hotel (HotelID, Name, Adresse, Telefon+)> <!ELEMENT HotelID (#PCDATA)> <!ELEMENT Name (#PCDATA)> <!ELEMENT Adresse (PLZ, Ort, Strasse, Nr)> <!ELEMENT PLZ (#PCDATA)> <!ELEMENT Ort (#PCDATA)> <!ELEMENT Strasse (#PCDATA)> <!ELEMENT Nr (#PCDATA)> <!ELEMENT Telefon (#PCDATA)>

Eigenschaften der Ausgabe objektrelationaler Datenbanken Ausgabe der Datenbank vollständig Erforderliche Informationen keine Variables Ausgabeformat nein Erhalt von Datentypen bei Verwendung von XML Schema Speicherung von Schlüsseln als ID/IDREF oder Verwendung und Fremdschlüsseln von XML Schema Weitere Besonderheiten adäquate Darstellung von Tupeln, Mengen und Listen der Datenbank im XML-Dokument XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Generierung von XML-Dokumen-ten aus weiteren Datenformaten /1 allgemeine Prinzipien: aussagekräftige Bezeichnungen für Element- und Attributnamen sinnvolle Gruppierungen und hierarchische Darstellungen Darstellung aller benötigten Informationen keine Darstellung von überflüssigen Informationen Lesbarkeit (für Anwendungen sowie für Menschen) Strukturierung der Informationen durch feingranulares Markup XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Generierung von XML-Dokumen-ten aus weiteren Datenformaten /2 Alle Merkmale: nicht formal definierbar nicht formal überprüfbar Qualität der erzeugten Dokumente überprüfen: Arbeit mit Beispieldokumenten (alle benötigten Informationen dargestellt, Zusammenhänge schlüssig) Betrachten von typischen Anfragen (lassen sich Informationen erfragen und vollständig ableiten) Metriken bewerten Benutzerbarkeit und Änderbarkeit entstandener XML-Dokumente. XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

ANSI-Standard SQL/XML /1 Teil des SQL-Standards Hersteller wie IBM, Oracle, Microsoft, Informix und Software AG beteiligt enthalten sind: Mapping zwischen SQL- und XML-Konzepten (jeweils in beide Richtungen) Abbildung von zwischen SQL- und XML-Bezeichnern (max. Länge, erlaubte Sonderzeichen) z.B: Verlag&Ort Verlag_x0026_Ort (das Zeichen & darf im XML-Markup nicht auftreten und wird durch den Unicode-Wert ersetzt) Abbildung zwischen SQL- und XML (Schema)-Datentypen Abbildung von Datenwerten XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

ANSI-Standard SQL/XML /2 Abbildung von Relationen als XML-Dokument und XML-Schema Abbilden von Anfrageergebnissen als XML-Dokumente und XML-Schemata XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur <Hotelinformationen> <Hotel> <HotelID>H0001</HotelID> <Name>Hotel Huebner</Name> <Kategorie>4</Kategorie> <Hoteladr>A0001</Hoteladr> </Hotel> ... <Adresse> </Adresse> </Hotelinformationen> Hotel: HotelID Name Kategorie Adresse H0001 Hotel Huebner 4 A0001 H0002 Warnemuender Hof 3 A0002

XML Developer's Kit (Oracle XDK) Grundbausteine zum Lesen, Manipulieren, Transformieren und Anzeigen von XML-Dokumenten XML SQL Utility (XSU) unterstützt die Ausgabe von Datenbankinhalten mit XML-Syntax vollständige Inhalte relationaler Datenbanken auf XML-Dokumente, Abbildung der Ergebnisse von SQL-Anfragen in XMLGEN: einfache Änderungen an den XML-Dokumenten möglich (Bezeichnungen des Markups) individuell angepasste XML-Dokumente: Einsatz von XSLT Anfrageergebnisse: XML-Text oder DOM-Graphen Ab Version 9i, Release 2: XML-Schema für die XML-Ergebnisse der SQL-Anfragen (Darstellung der Typinformationen) XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

IBM DB2 UDB XML-Extender Generieren von XML-Dokumenten aus DB2-Datenbanken Syntax der Dokumente wird durch DAD-Dateien (- Data Access Definition) festgelegt Vorhin vorgestellte Funktionen wie xmlelement, xmlattributes, … werden unterstützt XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Microsoft SQL-Server Ausgabe der Ergebnisse von SQL-Anfragen als XML-Dokumente Erweiterung der SQL-Anfrage um die Spezifikation FOR XML { RAW, AUTO, EXPLICIT } (bei Verwendung von „AUTO“ erhält man das in SQL/XML definierte Ausgabeformat) drei verschiedene Ausgabeformate verschiedene Formate mit feststehender Syntax individuelle Festlegung der XML-Syntax durch speziell erweiterte Anfragen XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Zusammenfassung verschiedene Methoden existieren, um XML-Dokumente aus anderweitig elektronisch gespeicherten Informationen zu generieren Schwerpunkt dabei relationale und objektrelationale Datenbanken viele Methoden werden in kommerziellen Datenbanksystemen umgesetzt durch SQL/XML ist eine Vereinheitlichung erreicht, die sich (zukünftig) in allen Systemen wiederfinden wird XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Literatur / 1 Lee Buck: XML representation of a relational database, http://www.w3.org/XML/RDB.html Tim Bray: Adding Strong Data Typing to SGML and XML, http://www.textuality.com/xml/typing.html Jim Melton: WG3 Tutorial Presentation on 2000-10-09, ISO/IEC JTC/SC 32 - Data Management and Interchange, United States of America (ANSI), 2000 Jim Melton: ISO-ANSI Working Draft XML-Related Specifications (SQL/XML), http://www.sqlx.org/, 2001 SQL/XML Jayavel Shanmugasundaram, Eugene J. Shekita, Rimon Barr, Michael J. Carey, Bruce G. Lindsay, Hamid Pirahesh, Berthold Reinwald: Efficiently Publishing Relational Data as XML Documents, VLDB, 2000 Thomas Courvoisier, Guntram Flach: Integration relationaler Datenstrukturen in XML-Applikationen - database to XML Servlet, 30. GI Jahrestagung, Workshop Internet-Datenbanken, 2000 XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Literatur / 2 Mary Fernandez, Wang-Chiew Tan, Dan Suciu: SilkRoute: Trading between Relations and XML , WWW9, http://db.cis.upenn.edu/DL/rxl/rxl.html, 2000 Mary Fernandez, Yana Kadiyska, Atsuyuki Morishima, Dan Suciu, Wang-Chiew Tan: SilkRoute a framework for publishing relational data in XML, Unpublished, Manuscript availabe from www.cs.washington.edu/homes/suciu, 2002 Micheal Carey, Daniela Florescu, Zachary Ives, Ying Lu,Jayavel Shanmugasundaram, Eugene Shekita, Subbu Subramanian: XPERANTO: Publishing Object-Relational Data as XML, WebDB Informal Proceedings, May, 2000 Volker Turau: Making legacy data accessible for XML applications, http://www.informatik.fh-wiesbaden.de/~turau/DB2XML/index.html,2000 Volker Turau: Generieren von XML-Dokumenten aus relationalen Datenbanken, 4. Darmstädter XML Kongress, XML und Datenbanken, Dezember, 2000 Christian Ettinger: Ein Java-Werkzeug zur Transformation von relationalen Daten-banken nach XML-Schema, FH Wiesbaden, Fachbereich Informatik, 2000 Ramnivas Laddad: XML APIs for databases, http://www.javaworld.com/javaworld/jw-01-2000/jw-01-dbxml.html, 2000 XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur

Literatur /3 Ronald Bourret: XML-DBMS - Middleware for Transferring Data between XML Documents and Relational Databases, http://www.rpbourret.com/xmldbms/index.htm Gregor Zimmermann: Repräsentation von Objekt-relationalen Daten in XML, Studienarbeit, Universität Rostock, Fachbereich Informatik, 2002 Sascha Klopp: Automatische Generierung von virtuellen XML-Sichten aus relationalen Datenbankschemata und Übersetzung von XQuery-Anfragen nach SQL, GI-Arbeitskreis Grundlagen von Informationssystemen, 14. Workshop über Grundlagen von Datenbanken, 2002 XML-Generierung - aus Relationen - aus Anfrageergeb-nissen - anwenderdefinierte Verfahren - aus objektrelatio-nalen Datenbanken - aus beliebigen Informationen - Systeme - Literatur