Abbildung von XML auf Datenbanken

Werbung
Institut für Informationssysteme
Dr. C. Türker
Eidgenössische Technische Hochschule Zürich
Swiss Federal Institute of Technology Zurich
XML und Datenbanken WS 04/05
Übung 6
Besprechung: 07.12.2004
Abbildung von XML auf Datenbanken
Aufgabe 1: Drei-Ebenen-Modell
Diskutieren Sie kurz, ob auf der physischen Ebene unterschiedliche Indexstrukturen für dokumentzentrische Anwendungen im Vergleich zu datenzentrischen benötigt werden, und wenn ja
– welche.
Aufgabe 2: Modellbasierte Speicherung
Gegeben sei das folgende XML-Dokument auctionstore.xml, das Sie schon aus den vorigen
Übungen kennen.
</closed_auction>
</auctions>
</store>
a) Bilden Sie das Dokument mit dem EDGE-Verfahren auf Datenbanktabellen ab.
Setzen Sie dann die folgenden XPath-Anfragen in äquivalente SQL-Befehle für die von Ihnen
erzeugten Tabellen um:
1.
2.
3.
4.
/store/name/text()
/store/persons/person[@pid=’HJS’]/name
/store/auctions/auction/bid
Wie müssten Sie Ihre Abbildung anpassen, um auch die folgende XPath-Anfrage mittels
SQL beantworten zu können?
/store/auctions/auction/bid[position()=last()]
b) Bilden Sie das Dokument mit dem BINARY-Verfahren auf Datenbanktabellen ab. Beantworten Sie für diese Tabellen die gleichen XPath-Anfragen wie in der vorigen Teilaufgabe.
c) Diskutieren Sie anhand Ihrer Antworten zu den vorigen Teilaufgaben kurz Vor- und Nachteile
der beiden verschiedenen Abbildungsverfahren.
<?xml version="1.0" encoding="ISO-8859-1"?>
<store xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="AuctionStore.xsd">
<name> SwissBay </name>
<persons>
<person pid="HJS">
<name>Hans-Jörg Schek</name>
<address>ETH Zentrum </address>
</person>
<person pid="CT">
<name>Can Türker</name>
<address>ETH Zentrum</address>
</person>
</persons>
<auctions>
<!-- Auctions kann auction und closed_auction enthalten -->
<auction>
<bid bidder="CT"> 25,- CHF</bid>
<bid bidder="HJS"> 5,- CHF</bid>
<item>Book: Data on the Web</item>
</auction>
<closed_auction buyer="HJS">
<item>Book: XML und Datenbanken (used)</item>
<price>15,- CHF</price>
1
2
Herunterladen