In den Aufgaben 1, 2, 4, 5 und 9 wurde mit einem Datenmodell gearbeitet, das in Aufgabe 1 mehr ad hoc definiert als sauber modelliert wurde. In der vorliegenden letzten Aufgabe der XML-Vorlesung soll als Verbindung zum Bereich der Datenbanken ein existierendes Datenmodell auf verschiedene XML Schemas abgebildet werden, um auf diese Weise ein Gefühl für die andersartigen Modellierungswelten der relationalen und der hierarchischen Datenmodelle zu gewinnen.
In der folgenden Abbildung ist ein Datenmodell (oder, sauberer gesprochen: ein Informationsmodell) für die MP3 Track Library dargestellt. Es ist bewusst einfach gehalten, damit es weitestgehend selbsterklärend ist. Die Notation orientiert sich an einer populären Variante für Entity-Relationship-Diagramme (ER-Diagramme), der sogenannten "ER Diagram Crow's Feet Notation". Entities sind Rechteecke, Relationships die verbindenden Linien, und die Enden der Linien geben die Kardinaliät der Relations an (z.B. ein Artist ist in 0-n Bands, und jede Band besteht aus 1-n Artists).
Es geht in dieser Aufgabe nicht darum, die Qualität und (sicher existierende) Schwachstellen des Modells zu bewerten, sondern das Modell ohne Umsetzungsverluste auf XML-Mechanismen abzubilden. Dazu wird mit einer Schemasprache der Wahl (zur Auswahl stehen DTDs und XML Schema) ein Schema für das Datenmodell erstellt, und es sollen drei verschiedene Varianten erstellt werden. Diese sollen sich sowohl in XML-spezifischen Methoden (z.B. Attribute vs. Elemente) als auch in strukturellen Eigenschaften (z.B. Containment vs. ID/IDREF) voneinander unterscheiden.
Um das vorgegebene Datenmodell auf verschiedene Schemas abzubilden, bietet sich die folgende Vorgehensweise an:
(Zusatzbemerkung für die Benutzung von XML Schema: Wird XML Schema als Schemasprache gewählt, so liessen sich mit Hilfe der Identity Constraints die Relationen sehr gut definieren. Um den Zusatzaufwand von XML Schema gegenüber DTDs aber nicht zu sehr zu erhöhen, ist die Definition der Identity Constraints optional, wobei empfohlen wird, zumindest einen key/keyref Identity Constraint pro Schema als Übung zu definieren.)
Die Abgabe der Übung besteht darin, die drei Schemas (DTD oder XML Schema, jeweils individuelle und syntaktisch korrekte Files) zusammen mit kurzen Erläterungen zur jeweiligen Idee, Eigenschaften, sowie Vor- und nachteilen der gewählten Variante an den Betreuer zu mailen. Die Variantionen der Schemas müssen nicht-trivial sein, und aus der Dokumentation zu den Schema muss hervorgehen, weshalb diese Variante gewählt wurde.
please send comments to xml-vl@dret.net last modification on Tuesday, 04-Jul-2006 10:23:01 CEST |