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

About This Presentation
Title:

XML und Datenbanken Generieren von XML-Dokumenten

Description:

Title: Drei-Ebenen Architektur von Author: meike Last modified by: meike Created Date: 4/9/2002 8:56:11 AM Document presentation format: On-screen Show – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 53
Provided by: meik8
Category:

less

Transcript and Presenter's Notes

Title: XML und Datenbanken Generieren von XML-Dokumenten


1
XML und DatenbankenGenerieren von XML-Dokumenten
  • Meike Klettke
  • Universität Rostock
  • Fakultät für Informatik und Elektrotechnik
  • meike_at_informatik.uni-rostock.de
  • www.xml-und-datenbanken.de

2
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
3
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
4
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
5
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
6
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
Einsatz individueller Transformations- vorschrifte
n
Abbildung von Anfrageergebnissen
  • Feste Transformationsregeln
  • Feststehende Syntax des
  • entstehenden XML-Dokumentes
  • Oracle
  • DB2
  • SQL/XML
  • (Standardisierung)

7
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 ltHotelinformationengt
ltHotelgt ltHotelIDgtH0001lt/HotelIDgt
ltNamegtHotel Huebnerlt/Namegt
ltKategoriegt4lt/Kategoriegt
ltHoteladrgtA0001lt/Hoteladrgt lt/Hotelgt
ltHotelgt ... lt/Hotelgt
ltAdressegt ... lt/Adressegt lt/Hotelinformationen
gt
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 Warne-muende 18119 Stolteraer Weg 8
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 ltHotelinformationengt
ltHotel HotelID'H0001'
Name'Hotel Huebner' Kategorie'4'
Hoteladr'A0001' /gt ltHotel ... /gt
ltAdresse ... /gt lt/Hotelinformationengt
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 Warne-muende 18119 Stolteraer Weg 8
9
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 ltHotelinformationengt
ltHotelgt ltROWgt ltHotelIDgtH0001lt/Hot
elIDgt ltNamegtHotel Huebnerlt/Namegt
ltKategoriegt4lt/Kategoriegt
ltHoteladrgtA0001lt/Hoteladrgt lt/ROWgt
ltROWgt ... lt/ROWgt lt/Hotelgt
ltAdressegt ... lt/Adressegt lt/Hotelinformationen
gt
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 Warne-muende 18119 Stolteraer Weg 8
10
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)
  • ltort xml-sqltypevarchargtRostocklt/ortgt
  • ltplz xml-sqltypeintegergt18055lt/plzgt
  • 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
11
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
  • ltxselement nameort typexsstringgt
  • ltxselement nameplz typexsintegergt
  • 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
12
Hierarchien aus Schlüssel- und Fremdschlüsselbezie
hungen
  • 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
lt!ELEMENT Hotel (HotelID, Name,
Kategorie?, Hoteladr)gtlt!ELEMENT HotelID
(PCDATA)gtlt!ELEMENT Name (PCDATA)gtlt!ELEMENT
Kategorie (PCDATA)gtlt!ELEMENT Adresse
(AdresseID, Ort, PLZ, Strasse, Nr)gt lt!ELEMENT
AdresseID (PCDATA)gt lt!ELEMENT Ort
(PCDATA)gtlt!ELEMENT PLZ (PCDATA)gtlt!ELEMENT
Strasse (PCDATA)gt lt!ELEMENT Nr (PCDATA)gt
Adresse
AdresseID Ort PLZ Strasse Nr
A0001 Warne-muende 18119 Seestrasse 12
A0002 Warne-muende 18119 Stolteraer Weg 8
13
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
14
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
Einsatz individueller Transformations- vorschrifte
n
Abbildung von Anfrageergebnissen
  • Feste Transformationsregeln
  • Feststehende Syntax des
  • entstehenden XML-Dokumentes
  • Auswahl der dazustellenden Daten
  • durch die Datenbankanfrage
  • Oracle
  • DB2
  • Microsoft

15
Abbildung von Anfrageergebnissen
  • Ergebnisse von SQL-Anfragen mit XML-Syntax
    ausgeben
  • Beispiel
  • SELECT Name, Kategorie, Ort
  • FROM Hotel, Adresse
  • WHERE (OrtWarnemuende') AND
  • (Hotel.HoteladrAdresse.AdresseID)
  • Ergebnis
  • ltrowsetgt
  • ltrow no1gt
  • ltNamegtHotel Huebnerlt/Namegt
  • ltKategoriegt4lt/Kategoriegt
  • ltOrtgtWarnemuendelt/Ortgt
  • lt/rowgt
  • lt/rowsetgt

XML-Generierung - aus Relationen - aus
Anfrageergeb-nissen - anwenderdefinierte
Verfahren - aus objektrelationa-len
Datenbanken - aus beliebigen Informationen -
Systeme - Literatur
16
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
17
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
Einsatz individueller Transformations- vorschrifte
n
Abbildung von Anfrageergebnissen
  • Silkroute (SQL,XML-QL)
  • Courvoisier/ Flach (DaS)
  • (SQLMuster 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

18
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
XML-An-
2
Transforma-
relationale
fragesprache
individuelles
tionsregeln
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
19
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
20
Einsatz von erweiterten Datenbankanfragen
  • Anfragebeispiel
  • select
  • from hotel, adresse
  • where (hotel.Hoteladr
  • adresse.AdresseID)
  • construct
  • lthotelgt
  • ltnamegtnamelt/namegt
  • ltadressegt
  • ltplzgtplzltplzgt
  • ltwohnortgtortlt/wohnortgt
  • ltstrassegtstrasselt/strassegt
  • lthausnummergtnrlt/hausnummergt
  • lt/adressegt
  • lt/hotelgt

Ergebnis lthotelgt ltnamegtStrand Hotel
Huebnerlt/namegt ltadressegt ltplzgt18119ltplzgt
ltwohnortgtWarnemuendelt/wohnortgt
ltstrassegtSeestrasselt/strassegt
lthausnummergt12lt/hausnummergt lt/adressegt lt/hotelgt
XML-Generierung - aus Relationen - aus
Anfrageergeb-nissen - anwenderdefinierte
Verfahren - aus objektrelationa-len
Datenbanken - aus beliebigen Informationen -
Systeme - Literatur
21
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
22
Beispiel Silkroute
  • Erzeugen der virtuellen XML-Sicht
  • construct ltviewgt from adresse a, hotel h
    construct lthotelgt
    ltnamegth.namelt/namegt ltadressegt
    ltortgta.ortlt/ortgt
    ltplzgta.plzlt/plzgt
    ltstrassegta.strasselt/strassegt
  • ltnummergta.nrlt/nummergt
    lt/adressegt lt/hotelgt
  • lt/viewgt
  • 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
23
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
XSLT
Trans-
benutzerdefiniertes
standardisiertes
relationale
Datenbank
XML-Dokument
XML-Dokument
formation
24
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-
DOM SAX
benutzerdefiniertes
standardisiertes
relationale
Datenbank
XML-Dokument
XML-Dokument
formation
25
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
26
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
27
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
28
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()

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

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

31
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

32
SQL/XML-Beispiele
  • select (xmlelement(name nachname, Name)) from
    student
  • ltNACHNAMEgtSchulzlt/NACHNAMEgt
  • ltNACHNAMEgtMeyerlt/NACHNAMEgt
  • ltNACHNAMEgtAlbrechtlt/NACHNAMEgt
  • ltNACHNAMEgtHeuerlt/NACHNAMEgt
  • ltNACHNAMEgtLehmannlt/NACHNAMEgt
  • ltNACHNAMEgtSchmidtlt/NACHNAMEgt
  • ltNACHNAMEgtMuellerlt/NACHNAMEgt
  • ltNACHNAMEgtKopmannlt/NACHNAMEgt
  • ltNACHNAMEgtLehmannlt/NACHNAMEgt

33
SQL/XML-Beispiele
  • select (xmlelement(name student,
  • xmlattributes(name as nachname) ))
    from student
  • ltSTUDENT NACHNAME"Schulz"/gt
  • ltSTUDENT NACHNAME"Meyer"/gt
  • ltSTUDENT NACHNAME"Albrecht"/gt
  • ltSTUDENT NACHNAME"Heuer"/gt
  • ltSTUDENT NACHNAME"Lehmann"/gt
  • ltSTUDENT NACHNAME"Schmidt"/gt
  • ltSTUDENT NACHNAME"Mueller"/gt
  • ltSTUDENT NACHNAME"Kopmann"/gt
  • ltSTUDENT NACHNAME"Lehmann"/gt

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

35
SQL/XML-Beispiele
  • select (xmlelement(name student,
  • xmlelement(name nachname, name),
  • xmlelement(name vorname, vorname)
    ))
  • from student
  • ltSTUDENTgtltNACHNAMEgtSchulzlt/NACHNAMEgtltVORNAMEgtSebas
    tianlt/VORNAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNACHNAMEgtMeyerlt/NACHNAMEgtltVORNAMEgtRenate
    lt/VORNAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNACHNAMEgtAlbrechtlt/NACHNAMEgtltVORNAMEgtSab
    inelt/VORNAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNACHNAMEgtHeuerlt/NACHNAMEgtltVORNAMEgtPetralt
    /VORNAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNACHNAMEgtLehmannlt/NACHNAMEgtltVORNAMEgtAnni
    kalt/VORNAMEgtlt/STUDENTgt
  • ...

36
SQL/XML-Beispiele
  • select (xmlelement(name student,
  • xmlforest(name, vorname) )) from student
  • ltSTUDENTgtltNAMEgtSchulzlt/NAMEgtltVORNAMEgtSebastianlt/VO
    RNAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNAMEgtMeyerlt/NAMEgtltVORNAMEgtRenatelt/VORNAM
    Egtlt/STUDENTgt
  • ltSTUDENTgtltNAMEgtAlbrechtlt/NAMEgtltVORNAMEgtSabinelt/VOR
    NAMEgtlt/STUDENTgt
  • ltSTUDENTgtltNAMEgtHeuerlt/NAMEgtltVORNAMEgtPetralt/VORNAME
    gtlt/STUDENTgt
  • ltSTUDENTgtltNAMEgtLehmannlt/NAMEgtltVORNAMEgtAnnikalt/VORN
    AMEgtlt/STUDENTgt
  • ltSTUDENTgtltNAMEgtSchmidtlt/NAMEgtltVORNAMEgtMarialt/VORNA
    MEgtlt/STUDENTgt
  • ...

37
SQL/XML-Beispiele
  • select (xmlconcat
  • ( xmlelement(name nachname, name),
  • xmlelement(name vorname, vorname)))
  • from student
  • ltNACHNAMEgtSchulzlt/NACHNAMEgtltVORNAMEgtSebastianlt/VOR
    NAMEgt
  • ltNACHNAMEgtMeyerlt/NACHNAMEgtltVORNAMEgtRenatelt/VORNAME
    gt
  • ltNACHNAMEgtAlbrechtlt/NACHNAMEgtltVORNAMEgtSabinelt/VORN
    AMEgt
  • ltNACHNAMEgtHeuerlt/NACHNAMEgtltVORNAMEgtPetralt/VORNAMEgt
  • ...

38
SQL/XML-Beispiele
  • select (xmlelement(name studenten,
  • xmlagg(xmlelement(name nachname,
    name)) ))
  • from student
  • ltSTUDENTENgtltNACHNAMEgtMeyerlt/NACHNAMEgtltNACHNAMEgtSch
    ulzlt/NACHNAMEgtltNACHNAMEgtMeyerlt/NACHNAMEgtltNACHNAMEgt
    Albrechtlt/NACHNAMEgtltNACHNAMEgtHeuerlt/NACHNAMEgtltNACH
    NAMEgtLehmannlt/NACHNAMEgtltNACHNAMEgtSchmidtlt/NACHNAME
    gtltNACHNAMEgtMuellerlt/NACHNAMEgtltNACHNAMEgtKopmannlt/NA
    CHNAMEgtltNACHNAMEgtLehmannlt/NACHNAMEgtlt/STUDENTENgt

39
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
ltHotelinformationengt ltHotelgt
ltHotelIDgtH0001lt/HotelIDgt ltNamegtHotel
Hübnerlt/Namegt ltAdressegt
ltPLZgt18119lt/PLZgt
ltOrtgtWarnemündelt/Ortgt
ltStrassegtSeestrasselt/Strassegt
ltNrgt12lt/Nrgt lt/Adressegt
ltTelefongt0381/5434-0lt/Telefongt
ltTelefongt0381/5434-44lt/Telefongt
lt/Hotelgtlt/Hotelinformationengt
40
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
lt!ELEMENT Hotelinformationen (Hotel)gtlt!ELEMENT
Hotel (HotelID, Name, Adresse,
Telefon)gtlt!ELEMENT HotelID (PCDATA)gtlt!ELEMENT
Name (PCDATA)gtlt!ELEMENT Adresse (PLZ, Ort,
Strasse, Nr)gtlt!ELEMENT PLZ
(PCDATA)gtlt!ELEMENT Ort (PCDATA)gtlt!ELEMENT
Strasse (PCDATA)gtlt!ELEMENT Nr
(PCDATA)gtlt!ELEMENT Telefon (PCDATA)gt
41
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
42
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
43
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
44
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 VerlagOrt 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
45
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
ltHotelinformationengt ltHotelgt
ltHotelIDgtH0001lt/HotelIDgt ltNamegtHotel
Huebnerlt/Namegt ltKategoriegt4lt/Kategoriegt
ltHoteladrgtA0001lt/Hoteladrgt lt/Hotelgt
ltHotelgt ... lt/Hotelgt
ltAdressegt ... lt/Adressegt lt/Hotelinformationen
gt
Hotel
HotelID Name Kategorie Adresse
H0001 Hotel Huebner 4 A0001
H0002 Warnemuender Hof 3 A0002
46
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
47
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
48
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
49
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
50
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
51
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-wiesbad
    en.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-0
    1-dbxml.html, 2000

XML-Generierung - aus Relationen - aus
Anfrageergeb-nissen - anwenderdefinierte
Verfahren - aus objektrelatio-nalen
Datenbanken - aus beliebigen Informationen -
Systeme - Literatur
52
Literatur /3
  • Ronald Bourret XML-DBMS - Middleware for
    Transferring Data between XML Documents and
    Relational Databases, http//www.rpbourret.com/xml
    dbms/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
Write a Comment
User Comments (0)
About PowerShow.com