XML - Grundlagen, Prinzipien und Anwendungen

Veranstaltung im Sommersemester 2006

Aufgabe 12 - Abbilden eines ER-Modells auf XML Schemas

Abgabe bis 7.7.2006


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.


Grundidee

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

ER-Diagramm für MP3 Track Library

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.


Vorgehen

Um das vorgegebene Datenmodell auf verschiedene Schemas abzubilden, bietet sich die folgende Vorgehensweise an:

  1. Zunächst muss eine Schemasprache gewählt werden. Da als Abgabe eine Grammatik gefordert ist, kommen dort DTDs und XML Schema in Frage (und RELAX NG, die allerdings in der Vorlesung nur sehr am Rande besprochen wurde).
  2. Aufbauend auf der Schemasprache können nun drei verschiedene Abbildungen des ER-Modells auf die Schemasprache erstellt werden. Variantionen sind in verschiedenen Hinsichten möglich. Attribut/Element und Containment/Referenzen sind hier z.B. zwei wichtige Aspekte. Jedes Schema muss ein syntaktisch korrektes und vollständiges Schema in der gewählten Schemasprache sein.

    (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.)

  3. Für jede Schema-Variante soll eine kurze Beschreibung der Modellierungs-Idee sowie der Vor- und Nachteile beschrieben werden. Sinnvoll wäre dabei auch noch eine Trennung in Anwendungsfälle, z.B. das Verhalten bei Lese- und bei Schreibzugriffen auf die Daten.
  4. Auf diese Weise entsteht zu jeden der drei Schemas eine kleine Dokumentation über die Eigenschaften und eine Bewertung. Diese gesammelten Dokumentationen sind das Endresultat der Aufgabe.

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
valid CSS!valid XHTML 1.0!