xml und datenbanken generieren von xml dokumenten l.
Download
Skip this Video
Download Presentation
XML und Datenbanken Generieren von XML-Dokumenten

Loading in 2 Seconds...

play fullscreen
1 / 52

XML und Datenbanken Generieren von XML-Dokumenten - PowerPoint PPT Presentation


  • 131 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'XML und Datenbanken Generieren von XML-Dokumenten' - ownah


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
xml und datenbanken generieren von xml dokumenten

XML und DatenbankenGenerieren 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
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
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
Anforderungen
  • Vollständige Abbildung von Datenbankinhalten

Alle in der Datenbank vorhandenen Informationen müssen sich im XML-Dokument wiederfinden.

  • Abbildung von Anfrageergebnissen oder ViewsAusschnitt 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
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

slide6

Generieren von XML-Dokumenten aus Datenbanken

Generieren von

XML-Dokumenten

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

<Hotel>

...

</Hotel>

<Adresse>

...

</Adresse>

</Hotelinformationen>

Hotel:

Adresse:

vollst ndige abbildung der datenbankinhalte 2
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>

Adresse:

vollst ndige abbildung der datenbankinhalte 3
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> ...

</ROW>

</Hotel>

<Adresse>

...

</Adresse>

</Hotelinformationen>

Hotel:

Adresse:

xml schema statt dtds 1
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
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
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:

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

eigenschaften der vollst ndigen abbildung des datenbankinhaltes
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

slide14

Generieren von XML-Dokumenten aus Datenbanken

Generieren von

XML-Dokumenten

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

slide17

Generieren von XML-Dokumenten aus Datenbanken

Generieren von

XML-Dokumenten

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
Varianten zum Einsatz individueller Transformationsregeln

individuelle

1

Transformationsregeln

XML-Generierung

- aus Relationen

- aus Anfrageergeb-nissen

- anwenderdefinierte Verfahren

- aus objektrelationa-len Datenbanken

- aus beliebigen Informationen

- Systeme

- Literatur

(Anteile einer Datenbank-

und XML-Anfragesprache)

2

feste

2

XML-An-

Transforma-

relationale

tionsregeln

fragesprache

individuelles

Datenbank

XML-Dokument

virtuelle

3

3

individuelles

XML-“Sicht“

feste

XSLT-

Transforma-

Stylesheet

tionsregeln

- 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
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
Einsatz von erweiterten Datenbankanfragen

Ergebnis:

<hotel>

<name>Strand Hotel Huebner</name>

<adresse>

<plz>18119<plz>

<wohnort>Warnemuende</wohnort>

<strasse>Seestrasse</strasse>

<hausnummer>12</hausnummer>

</adresse>

</hotel>

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>

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

XML-Anfrage

relationale

Datenbank

virtuelle

XML-Sicht

individuelles

XML-Dokument

beispiel silkroute
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
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

standardisiertes

benutzerdefiniertes

relationale

Datenbank

XML-Dokument

XML-Dokument

formation

einsatz von transformationsregeln und dom oder sax prozessoren
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-

standardisiertes

DOM

SAX

benutzerdefiniertes

relationale

Datenbank

XML-Dokument

XML-Dokument

formation

eigenschaften des einsatzes individueller transformationen
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 transformationsregeln26
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 transformationsregeln27
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
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
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
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
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 beispiele32
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>
  • <NACHNAME>Lehmann</NACHNAME>
sql xml beispiele33
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"/>
  • <STUDENT NACHNAME="Lehmann"/>
sql xml beispiele34
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 beispiele35
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 beispiele36
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 beispiele37
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 beispiele38
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
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
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
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
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
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
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
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>

<Hotel>

...

</Hotel>

<Adresse>

...

</Adresse>

</Hotelinformationen>

Hotel:

xml developer s kit oracle xdk
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
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
Microsoft SQL-Server
  • Ausgabe der Ergebnisse von SQL-Anfragen als XML-Dokumente
  • Erweiterung der SQL-Anfrage um die SpezifikationFOR 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 durchspeziell erweiterte Anfragen

XML-Generierung

- aus Relationen

- aus Anfrageergeb-nissen

- anwenderdefinierte Verfahren

- aus objektrelatio-nalen Datenbanken

- aus beliebigen Informationen

- Systeme

- Literatur

zusammenfassung
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
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
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
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