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