XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z....

26
Kapitel 6 Kapitel 6 Abbildung von Datenbanken auf XML Abbildung von Datenbanken auf XML Standard Standard - - Abbildung von Tabellen Abbildung von Tabellen Standard Standard - - Abbildung von Anfrageergebnissen Abbildung von Anfrageergebnissen Individuelle Abbildungsvorschriften Individuelle Abbildungsvorschriften

Transcript of XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z....

Page 1: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

Kapitel 6Kapitel 6

Abbildung von Datenbanken auf XMLAbbildung von Datenbanken auf XML

StandardStandard--Abbildung von TabellenAbbildung von Tabellen

StandardStandard--Abbildung von Anfrageergebnissen Abbildung von Anfrageergebnissen

Individuelle AbbildungsvorschriftenIndividuelle Abbildungsvorschriften

Page 2: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-2Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Anforderungen an die Generierung von Anforderungen an die Generierung von XMLXML--Dokumenten aus DatenbankenDokumenten aus Datenbanken

Datenbanksysteme sind sehr weit verbreitetDatenbanksysteme sind sehr weit verbreitet

Grosse Datenmengen sind in Datenbanken elektronisch gespeichertGrosse Datenmengen sind in Datenbanken elektronisch gespeichert

XML attraktiv als Format zum Austausch zwischen DatenbankenXML attraktiv als Format zum Austausch zwischen Datenbanken– Transport via Internet-Protokolle definiert– Vereinheitlichung durch gemeinsame DTDs oder XML-Schemas möglich– Viele Tools verfügbar

Austausch erfordert Export und Import der Daten (unter anderem)Austausch erfordert Export und Import der Daten (unter anderem)

Anforderungen an den DatenexportAnforderungen an den Datenexport– Standard-Abbildung von Tabellen– Standard-Abbildung von Anfrageergebnissen oder Sichten– Individuelle Abbildungsvorschriften

Page 3: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-3Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Allgemeine ProblemstellungAllgemeine Problemstellung

Problem ist für alle Hersteller von Datenbanksystemen im PrinzipProblem ist für alle Hersteller von Datenbanksystemen im Prinzip gleichgleich

SQL/XML SQL/XML -- Standardisierungsinitiative verschiedener Hersteller Standardisierungsinitiative verschiedener Hersteller (siehe Kapitel 7)(siehe Kapitel 7)

Daten aus DatenbankenDaten aus Datenbanken

DatentypenDatentypen

TabellenTabellen-- und Spaltennamenund Spaltennamen

DatenbankDatenbank

Inhalte in XMLInhalte in XML--DokumentenDokumenten

Datentypen von XMLDatentypen von XML--SchemaSchema

ElementElement-- und und AttributnamenAttributnamen

XMLXML--DokumentDokument

??

Page 4: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-4Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Generieren von XMLGenerieren von XML--Dokumenten aus Datenbanken

Generieren von XML-Dokumenten

Standard- Abbildung von Anfrage-ergebnissen

IndividuelleAbbildungs-vorschriften

Standard-Abbildung von Tabellen

• Feste Transformationsregeln

• Feststehende Syntax des entstehenden XML-Dokumentes

• Lee Buck (Grundprinzip)• Tim Bray, Lee Buck

(Datentypen in DTDs ergänzen)• Oracle• DB2• Informix• SQL/XML

(Standardisierungsinitiative)

Dokumenten aus Datenbanken

Page 5: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-5Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

StandardStandard--Abbildung von TabellenAbbildung von TabellenDatenbank als dreistufige Hierarchie vonDatenbank als dreistufige Hierarchie von

– Datenbank – Tabellen– Spalten

Darstellung der Datenbankinhalte und Struktur im XMLDarstellung der Datenbankinhalte und Struktur im XML--DokumentDokument– durch Elemente– durch Elemente und Attribute

Beispielrelationen:Beispielrelationen:Hotel: Adresse:

A0002A000233WarnemWarnemüü--ndernder HofHof

H0002H0002

A0001A000144Hotel Hotel HHüübnerbner

H0001H0001AdresseAdresseKategorieKategorieNameNameHotelIDHotelID

88Stolteraer Stolteraer WegWeg1811918119WarnemWarnemüündendeA0002A0002

1212SeestrasseSeestrasse1811918119WarnemWarnemüündendeA0001A0001

NrNrStrasseStrassePLZPLZOrtOrtAdresseIDAdresseID

Page 6: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-6Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

StandardStandard--Abbildung von Tabellen: Abbildung von Tabellen: Darstellung durch Darstellung durch ElementeElemente

Hotel: Adresse:

A0002A000233WarnemWarnemüü--ndernder HofHof

H0002H0002

A0001A000144Hotel Hotel HHüübnerbner

H0001H0001AdresseAdresseKategorieKategorieNameNameHotelIDHotelID

88Stolteraer Stolteraer WegWeg1811918119WarnemWarnemüündendeA0002A0002

1212SeestrasseSeestrasse1811918119WarnemWarnemüündendeA0001A0001

NrNrStrasseStrassePLZPLZOrtOrtAdresseIDAdresseID

<Hotelinformationen><Hotel>

<HotelID>H0001</HotelID><Name>Hotel Hübner</Name><Kategorie>4</Kategorie><Hoteladr>A0001</Hoteladr>

</Hotel><Hotel> ... </Hotel><Adresse> ... </Adresse>

</Hotelinformationen>

Standard-Abbildung der Spaltennamen auf Elementnamen

Page 7: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-7Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

StandardStandard--Abbildung von Tabellen: Abbildung von Tabellen: Darstellung durch Darstellung durch Elemente und AttributeElemente und Attribute

Hotel: Adresse:

A0002A000233WarnemWarnemüü--ndernder HofHof

H0002H0002

A0001A000144Hotel Hotel HHüübnerbner

H0001H0001AdresseAdresseKategorieKategorieNameNameHotelIDHotelID

88Stolteraer Stolteraer WegWeg1811918119WarnemWarnemüündendeA0002A0002

1212SeestrasseSeestrasse1811918119WarnemWarnemüündendeA0001A0001

NrNrStrasseStrassePLZPLZOrtOrtAdresseIDAdresseID

<Hotelinformationen><Hotel

HotelID='H0001'Name='Hotel Hübner'Kategorie='4' Hoteladr='A0001' />

<Hotel ... /><Adresse ... />

</Hotelinformationen>

Standard-Abbildung der Spaltennamen auf Attributnamen

Page 8: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-8Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von SchlüsselAbbildung von Schlüssel--FremdschlüsselFremdschlüssel--BeziehungenBeziehungen

Zielsetzung: Schlüssel und Fremdschlüssel sollen möglichst adäquZielsetzung: Schlüssel und Fremdschlüssel sollen möglichst adäquat im at im XMLXML--Dokument wiedergegeben werdenDokument wiedergegeben werden

Abbildung von SchlüsselAbbildung von Schlüssel-- und Fremdschlüsselbeziehungen auf und Fremdschlüsselbeziehungen auf ElementhierarchienElementhierarchien

– 1:n-Beziehungen werden auf geschachtelte Elemente im Dokument abgebildet– n:m-Beziehungen sind problematisch:

Abbildung auf ID/IDREFDenormalisierter Inhalt im XML-Dokument – eventuell hohe Redundanz

Verwendung von XMLVerwendung von XML--SchemaSchema– Darstellung von Schlüsseln und Fremdschlüsseln: Einsatz von key / keyref

Verwendung einer DTDVerwendung einer DTD– Darstellung von Schlüsseln und Fremdschlüsseln

Abbildung auf Attribute (ID/IDREF)Eindeutigmachen der Schlüssel- und Fremdschlüsselwerte (ID muss eindeutig sein für das ganze Dokument)

Page 9: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-9Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Hierarchien aus SchlüsselHierarchien aus Schlüssel-- und und FremdschlüsselbeziehungenFremdschlüsselbeziehungen

Hotel: Adresse:

A0002A000233WarnemueWarnemue--ndernder HofHof

H0002H0002

A0001A000144Hotel Hotel HHüübnerbner

H0001H0001AdresseAdresseKategorieKategorieNameNameHotelIDHotelID

88Stolteraer Stolteraer WegWeg1811918119WarnemWarnemüündendeA0002A0002

1212SeestrasseSeestrasse1811918119WarnemWarnemüündendeA0001A0001

NrNrStrasseStrassePLZPLZOrtOrtAdresseIDAdresseIDFK

<!ELEMENT Hotel (HotelID, Name, Kategorie?, Hoteladr)><!ELEMENT Hoteladr (AdresseID, Ort, PLZ, Strasse, Nr)><!ELEMENT HotelID (#PCDATA)><!ELEMENT Name (#PCDATA)><!ELEMENT Kategorie (#PCDATA)><!ELEMENT AdresseID (#PCDATA)><!ELEMENT Nr (#PCDATA)><!ELEMENT Ort (#PCDATA)><!ELEMENT PLZ (#PCDATA)><!ELEMENT Strasse (#PCDATA)>

Auflösung der Fremdschlüssel-Beziehungen durch Einbettung derreferenziertenElemente

Page 10: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-10Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von DatentypenAbbildung von Datentypen

Verwendung von XMLVerwendung von XML--Schema: Vielzahl vordefinierter DatentypenSchema: Vielzahl vordefinierter Datentypen

Erweiterung von Erweiterung von DTDsDTDs um reservierte Attributeum reservierte Attribute

XMLXML--Prozessoren oder Applikationen müssen diese Informationen Prozessoren oder Applikationen müssen diese Informationen kennen und auswertenkennen und auswerten

<xsd:element name=''ort''

<ort

type=''xsd:string''><xsd:element name=''plz'' type=''xsd:integer''>

xml-sqltype=''varchar''>Rostock</ort><plz xml-sqltype=''integer''>18055</plz>

Page 11: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-11Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von objektrelationalen Datenbanken (1)Abbildung von objektrelationalen Datenbanken (1)

Objektrelationale Datenbanken unterstützen nichtObjektrelationale Datenbanken unterstützen nicht--atomare, komplexe atomare, komplexe SpaltenSpalten

– tupelwertig– kollektionswertig– objektwertig– referenzwertig

Vorhandene Struktur sollVorhandene Struktur soll in das XMLin das XML--Dokument übernommen werdenDokument übernommen werden– Instanzenebene– Schemaebene

Page 12: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-12Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von objektrelationalen Datenbanken (2)Abbildung von objektrelationalen Datenbanken (2)InstanzenebeneInstanzenebene: ad: adääquate Abbildung von Instanzen mit komplexen quate Abbildung von Instanzen mit komplexen Attributen (Attributen (TupelTupel, Mengen oder Listen), Mengen oder Listen)

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

18119

PLZ

{Telefon}<Adresse>HotelnameHotelID

Hotel Hübner Warnemünde

Ort

Seestrasse

Strasse

12

Nr

{'0381/5434-0', '0381/5434-44'}H0001

Page 13: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-13Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von objektrelationalen Datenbanken (3)Abbildung von objektrelationalen Datenbanken (3)SchemaebeneSchemaebene: Ableiten eines XML: Ableiten eines XML--Schema oder einer DTD aus Schema oder einer DTD aus objektrelationalem Schemaobjektrelationalem Schema

INFORMIX-DDLCREATE ROWCREATE ROW typetype Adresse_tAdresse_t((PLZ PLZ INTEGER,INTEGER,Ort Ort VARCHAR(25),VARCHAR(25),Strasse Strasse VARCHAR(20),VARCHAR(20),NrNr INTEGERINTEGER

););

CREATE TABLE HotelCREATE TABLE Hotel((HotelIDHotelID INTEGER NOT NULL INTEGER NOT NULL

PRIMARY KEY,PRIMARY KEY,Name Name VARCHAR(20) NOT NULL, VARCHAR(20) NOT NULL, Adresse Adresse Adresse_t, Adresse_t, Telefon Telefon SET(INTEGER NOT NULL)SET(INTEGER NOT NULL)

);

XML-DTD<!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)>

);

Page 14: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-14Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Eigenschaften der Abbildung von TabellenEigenschaften der Abbildung von Tabellen

Ausgabe der DatenbankAusgabe der Datenbank– vollständig

Erforderliche InformationenErforderliche Informationen– keine

Variables AusgabeformatVariables Ausgabeformat– nein

Erhalt von DatentypenErhalt von Datentypen– durch erweiterte DTDs – durch ein XML-Schema

Speicherung von Schlüsseln und Speicherung von Schlüsseln und FremdschlüsselnFremdschlüsseln

– Abbilden auf Hierarchien im XML-Dokument

– ID/IDREF – XML-Schema

Weitere BesonderheitenWeitere Besonderheiten– Parser müssen DTD-Erweiterungen

auswerten – XML-Schema ist wesentlich besser

geeignet als DTDs– adäquate Darstellung von Tupeln,

Mengen, Listen und Referenzen ausobjektrelatioanlen Datenbanken im XML-Dokument

Page 15: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-15Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Generieren von XMLGenerieren von XML--Dokumenten aus Datenbanken

Generieren von XML-Dokumenten

Standard-Abbildung von Anfrage-ergebnissen

IndividuelleAbbildungs-vorschriften

Standard-Abbildung von Tabellen

Dokumenten aus Datenbanken

• Feste Transformationsregeln

• Feststehende Syntax des entstehenden XML-Dokumentes

• Auswahl der dazustellenden Daten durch die Datenbankanfrage

• Oracle• DB2• Microsoft

Page 16: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-16Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Abbildung von AnfrageergebnissenAbbildung von Anfrageergebnissen

<<rowsetrowset>><<rowrow no='1'>no='1'>

<Name>Hotel Hübner</Name><Name>Hotel Hübner</Name><Kategorie>4</Kategorie><Kategorie>4</Kategorie><Ort>Warnemünde</Ort><Ort>Warnemünde</Ort>

</</rowrow> > </</rowsetrowset>>

Ergebnisse von SQLErgebnisse von SQL--Anfragen als XMLAnfragen als XML--Dokumente bzw. XMLDokumente bzw. XML--Elemente Elemente ausgebenausgeben

Abbildung der Ergebnistabelle in eine StandardAbbildung der Ergebnistabelle in eine Standard--Repräsentation Repräsentation – Ergebnistabelle auf rowset-Element– Jede Zeile auf ein row-Element– Tabellenspalten auf Sub-Elemente oder XML-Attribute– Dadurch kein variables Ausgabeformat

Ähnliches Verfahren Bestandteil im zukünftigen SQL/XMLÄhnliches Verfahren Bestandteil im zukünftigen SQL/XML--StandardStandard

XML

SELECT Name, Kategorie, OrtSELECT Name, Kategorie, Ort

FROM Hotel, AdresseFROM Hotel, Adresse

WHERE Ort='Warnemünde' ANDWHERE Ort='Warnemünde' AND

Hotel.Hotel.HoteladrHoteladr=Adresse.=Adresse.AdresseIDAdresseID

SQL

Page 17: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-17Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Eigenschaften der Abbildung von Eigenschaften der Abbildung von DatenbankanfragenDatenbankanfragen

Ausgabe der DatenbankAusgabe der Datenbank– partiell

Erforderliche InformationenErforderliche Informationen– Datenbankanfrage/Datenbanksicht

Variables AusgabeformatVariables Ausgabeformat– nein

Erhalt von DatentypenErhalt von Datentypen– geht typischerweise verloren, wäre

aber ableitbar

Speicherung von Schlüsseln und Speicherung von Schlüsseln und FremdschlüsselnFremdschlüsseln

– bei tabelleninternen Beziehungabbildbar

EinbettungID/IDREFXML-Schema

Weitere BesonderheitenWeitere Besonderheiten– keine

Page 18: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-18Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Generieren von XMLGenerieren von XML--Dokumenten aus Datenbanken

Generieren von XML-Dokumenten

Standard-Abbildung von Anfrage-ergebnissen

IndividuelleAbbildungs-vorschriften

Standard-Abbildung von Tabellen

Dokumenten aus Datenbanken

• Silkroute (SQL,XML-QL)• Courvoisier/ Flach (DaS)

(SQL+Muster für Ergebnis)• Shamnagunsadaram et. al. • XPERANTO • Volker Turau (DB2XML) (XSLT)• Laddad (XSLT)

• Auswahl der darzustellenden Daten durch die Datenbankanfrage

• Individuelle Transformationsregelndurch den Benutzer

• Dadurch Spezifikation der Syntax des entstehenden XML-Dokumentes

Page 19: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-19Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Varianten für individuelle AbbildungsvorschriftenVarianten für individuelle Abbildungsvorschriften

1

Standard-transformation

3

Datenbank

XSLT-Stylesheet

XML-DokumentXML-Sicht

StandardisiertesXML-Dokument

Standard-transformation

XML-Anfrage-sprache

2

Erweiterte Datenbankanfrage mit Transformationsregeln

Page 20: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-20Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Erweiterte DatenbankanfragesprachenErweiterte Datenbankanfragesprachen

Anteile von DatenbankAnteile von Datenbank-- und XMLund XML--AnfragespracheAnfragesprache

Erweiterung des SQLErweiterung des SQL--Dialektes um XMLDialektes um XML--OperatorenOperatoren

XML-Dokument

Erweiterte Datenbankanfrage

Datenbank

Datenbankanfrage (in SQL) zur Auswahl der darzustellenden Daten Datenbankanfrage (in SQL) zur Auswahl der darzustellenden Daten

XMLXML--Anfrage zur Bestimmung der Syntax des Zielformates Anfrage zur Bestimmung der Syntax des Zielformates (beispielsweise: CONSTRUCT / RETURN / FOR XML)(beispielsweise: CONSTRUCT / RETURN / FOR XML)

Page 21: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-21Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

EErweiterte Datenbankanfragesprachenrweiterte Datenbankanfragesprachen

Ergebnis:Ergebnis:AnfrageAnfrage:<hotel><hotel><<namename>Hotel Hübner</>Hotel Hübner</namename>><<adresseadresse>><<plzplz>18119<>18119<plzplz>><<wohnortwohnort>Warnemünde</>Warnemünde</wohnortwohnort>><<strassestrasse>Seestrasse</>Seestrasse</strassestrasse>><<hausnummerhausnummer>12</>12</hausnummerhausnummer>>

</</adresseadresse>></hotel>

selectselect * * fromfrom Hotel, AdresseHotel, Adressewherewhere ((HoteladrHoteladr = = AdresseIDAdresseID))constructconstruct<hotel><hotel><<namename>{$>{$namename}</}</namename>><<adresseadresse>><<plzplz>{$>{$plzplz}<}<plzplz>><<wohnortwohnort>{$ort}</>{$ort}</wohnortwohnort>><<strassestrasse>{$>{$strassestrasse}</}</strassestrasse>><<hausnummerhausnummer>{$>{$nrnr}</}</hausnummerhausnummer>>

</</adresseadresse>></hotel></hotel>

XML-Element und XML-Attributnamen frei wählbar

</hotel>

:

Zugriff auf dieSpalten im SQL-Ergebnis

Page 22: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-22Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Individuelle Abbildungsvorschriften und XMLIndividuelle Abbildungsvorschriften und XML--AnfragenAnfragen

Anfrage an die Datenbank mit XMLAnfrage an die Datenbank mit XML--Anfragesprachen ermAnfragesprachen ermööglichenglichen

Naive UmsetzungNaive Umsetzung– Kompletten Datenbankinhalt in ein XML-Dokument umsetzen– Komplettes XML-Dokument mit XML-Anfrage verarbeiten– Sehr ineffizient (XML-Dokument evtl. gross, nur Teile davon gebraucht)

Besser: XMLBesser: XML--Sicht auf die Daten in einer Datenbank Sicht auf die Daten in einer Datenbank – XML-Dokument wird nicht materialisiert (virtuell)– XML-Anfragen werden an dieses virtuelle XML-Dokument gestellt– Möglichst grosser Anteil der Verabeitung mittels nativer DB-Engine

XML-Dokument

XML-Anfrage

Datenbank XML-Sicht

Page 23: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-23Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

SpeziallfallSpeziallfall: Annotationen von DTD oder XML: Annotationen von DTD oder XML--SchemaSchemaFestlegen der genauen Verbindung von DatenbankFestlegen der genauen Verbindung von Datenbank--EntitEntitääten und XMLten und XML--Elementen bzw. XMLElementen bzw. XML--AttributenAttributen

198198Hotel HHotel Hüübnerbnerwwwwww.hotel.hotel--huebnerhuebner.de.deEinzelzimmerEinzelzimmerNameNameHotelHotel--URLURL

<hotel<hotel urlurl==''www''www.hotel.hotel--huebnerhuebner.de''>.de''><<hotelnamehotelname> Hotel Hübner </> Hotel Hübner </hotelnamehotelname>><<einzelzimmereinzelzimmer> 198 </> 198 </einzelzimmereinzelzimmer>>

</hotel></hotel>

Ergebnisdokument:<<ClassMapClassMap>>

<<ElementTypeElementType Name=''hotel''/>Name=''hotel''/><<ToClassTableToClassTable>>

<Table Name=''Hotel''><Table Name=''Hotel''></</ToClassTableToClassTable>><<PropertyMapPropertyMap>>

<Attribute Name=<Attribute Name=''url''''url''/>/><<ToColumnToColumn>>

<<ColumnColumn Name=''HotelName=''Hotel--URL''/>URL''/></</ToColumnToColumn>>

</</PropertyMapPropertyMap>><<PropertyMapPropertyMap>>

<<ElementTypeElementType Name=Name=''hotelname''''hotelname''/>/>......

Datenbank:Tabelle Hotel

Abbildungsvorschrift:

Angabe der DB-Tabelle

Konstruktion des XML-Ergebnisses

Angabe des DB-Attributs

Page 24: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-24Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Beispiel Beispiel SilkrouteSilkroute

SilkrouteSilkroute– Middleware zwischen RDBMS und XML-

Applikation– Entwickelt von AT&T und Uni Pennsylvania

Erzeugen einer XMLErzeugen einer XML--SichtSicht– Freie Wahl des Ausgabeformats– Sichtinhalt wird nicht materialisiert

XMLXML--Anfragen über diese XMLAnfragen über diese XML--Sicht Sicht – XML-QL– XQuery

ProblematikProblematik– Ableiten der SQL-Queries aus der

Sichtdefinition– Meist muss nicht die ganze Sicht berechnet

werden

Beispiel einer View-Definitionin Silkroute-Syntax:

constructconstruct<<viewview>>

fromfrom Adresse a, Hotel hAdresse a, Hotel hconstructconstruct<hotel><hotel>

<<namename>$h.>$h.namename</</namename>><<adresseadresse>>

<ort>$a.ort</ort><ort>$a.ort</ort><<plzplz>$a.>$a.plzplz</</plzplz>><<strassestrasse>$a.>$a.strassestrasse</</strassestrasse>><<nummernummer>$a.>$a.nrnr</</nummernummer>>

</</adresseadresse>></hotel></hotel>

</</viewview>>

Page 25: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-25Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

Eigenschaften individueller AbbildungsvorschriftenEigenschaften individueller Abbildungsvorschriften

Ausgabe der DatenbankAusgabe der Datenbank– vollständig oder partiell

Erforderliche InformationenErforderliche Informationen– XML-Anfrage – XSLT– Sichtdefinition

Variables AusgabeformatVariables Ausgabeformat– ja

Erhalt von DatentypenErhalt von Datentypen– gehen typischerweise verloren, wären

aber ableitbar

Speicherung von Schlüsseln und Speicherung von Schlüsseln und Fremdschlüsseln Fremdschlüsseln

– Element-Schachtelung– ID/IDREF– XML-Schema

Weitere BesonderheitenWeitere Besonderheiten– keine

Page 26: XML und Datenbanken€¦ · Austausch erfordert Export und Import der Daten (unter anderem) z. Anforderungen an den Datenexport – Standard-Abbildung von Tabellen – Standard-Abbildung

6-26Vorlesung "XML und Datenbanken" - WS 2002/2003 (Schek/Türker/Grabs)

ZusammenfassungZusammenfassung

Verschiedene Methoden existieren, um XMLVerschiedene Methoden existieren, um XML--Dokumente aus anderweitig Dokumente aus anderweitig elektronisch gespeicherten Informationen zu generierenelektronisch gespeicherten Informationen zu generieren

– Standard-Abbildung von Tabellen auf XMLStandard-XML-Dokument: festgelegtes Ausgabeformat

– Standard-Abbildung von Abfrageergebnissen auf XMLErgänzung von Datenbankabfragen um XML-FunktionalitätStandard-XML-Dokument

– Individuelle Abbildung von Tabellen und AbfrageergebnissenXML-Sichten auf DatenbankinhalteXML-Anfragesprachen arbeiten auf der Sicht

Schwerpunkt dabei relationale und objektrelationale DatenbankenSchwerpunkt dabei relationale und objektrelationale Datenbanken