[dbis logo]

.Lehre.Semesterübersicht
[Institut fuer Informatik] [Leerraum] [Humboldt-Universitaet zu Berlin]

XML, XPath, XQuery – Aufgabenblatt 3

Abgabetermin

Montag, 21.1.

Allgemeine Hinweise

Die zu lösenden Aufgaben sind nicht obligatorisch. Sie sollten jedoch die Gelegenheit nutzen, sich in die praktischen Aspekte des Vorlesungsstoffs zu vertiefen. Ein Feedback zu Lösungen und Problemen kann nur bei zeitgerechter Abgabe stattfinden. Die Ergebnisse der Aufgabenbearbeitung werden in den Übungseinheiten besprochen.

 

Übung-Foliensatz-03, Übung-Beispiele-03

Abgabemodus

Die Abgabe der Lösungen erfolgt als ein tar-gz-Archiv mit vorgegebener Inhaltsstruktur. Für die Aufgabe geben Sie bitte das Archiv "Aufgabe-3.tar.gz" mit den Dateien "Bibliothek.xsd" sowie "Bibliothek.xml" ab. Senden Sie dazu bitte eine Email mit entsprechendem Anhang an kost@informatik.hu-berlin.de.

Aufgabe 4

Das Thema dieser Aufgabe ist das Abbilden von DB-Inhalten nach XML/XML-Schema. Sie erstellen aus einem gegebenen Datenbankschema ein XML-Schema (Name der abzugebenden Datei: Bibliothek.xsd), welches die Daten einer Beispieldatenbank abbildet. Methoden zum Generieren von XML-Dokumenten aus einer relationalen Datenbank wurden in der Vorlesung vorgestellt und im Praktikum beispielhaft angewandt.

Aufgabenstellung

Erstellen Sie eine Abbildung für die Beispieldatenbank einer Bibliothek, mit der die Leihvorgänge von Kunden erfasst werden. Es soll eine vollständige Abbildung auf das XML-Schema "Bibliothek.xsd" erfolgen. Im Weiteren finden Sie die Tabellenbeschreibungen und Fremdschlüsselbeziehungen für das Datenbankschema des Beispiels sowie weitere Details zur Abbildung.

Buecher
Name
Typ
Nullwerte
Schlüssel
unique
Länge
ISBN
Text
nein
ja
ja
50
Titel
Text
ja
nein
nein
50
Erscheinungsjahr
Byte
ja
nein
nein
Auflage
Byte
ja
nein
nein

 

Abschnitte
Name
Typ
Nullwerte
Schlüssel
unique
Länge
Buch-ISBN
Text
nein
ja
u1
50
Abschnitt-ID
int
nein
ja
u1
Typ *
Text
nein
nein
nein
50
Reihenfolge
int
nein
nein
nein
parent-ID **
int
ja
nein
nein
Titel ***
Text
ja
nein
nein
50
Text
Text
ja
nein
nein
255

* mögliche Werte: "Kapitel", "Unterkapitel", "Absatz"
** verpflichtend nur für Unterkapitel und Absatz (Hierarchie: Kapitel - Unterkapitel - Absatz, also 3-stufig)
*** nur bei Kapitel und Unterkapitel möglich

Kunden
Name
Typ
Nullwerte
Schlüssel
unique
Länge
Kundennummer
int
nein
ja
ja
Person-Verweis
int
nein
nein
ja
Eintrittsdatum
date
ja
nein
nein

 

Leihvorgänge
Name
Typ
Nullwerte
Schlüssel
unique
Länge
Buch-ISBN
Text
nein
ja
ja
50
Kundennummer
int
nein
nein
nein
Ausleihdatum
date
ja
nein
nein

 

Autoren
Name
Typ
Nullwerte
Schlüssel
unique
Länge
ID
Text
nein
ja
ja
50
Kontakt
Text
ja
nein
nein
50
Homepage
Text
ja
nein
nein
50
Person-Verweis
int
ja
nein
ja

 

Zuweisung_Buch-Autor
Name
Typ
Nullwerte
Schlüssel
unique
Länge
Buch-ISBN
Text
nein
nein
nein
50
Autoren-ID
Text
nein
nein
nein
50

 

Personen
Name
Typ
Nullwerte
Schlüssel
unique
Länge
ID
int
nein
ja
ja
Name
Text
ja
nein
nein
50
Vorname
Text
ja
nein
nein
50
Anrede
Text
ja
nein
nein
10
Titel
Text
ja
nein
nein
25
Straße
Text
ja
nein
nein
100
Hausnummer
Text
ja
nein
nein
10
PLZ
Text
ja
nein
nein
10
Stadt
Text
ja
nein
nein
50
Land
Text
ja
nein
nein
50
Telefon
Text
ja
nein
nein
50
email
Text
ja
nein
nein
50
Geburtstag
date
ja
nein
nein

 

Fremdschlüsselbeziehungen

Halten Sie sich an die folgenden Bedingungen für die Abbildung des Datenbankschemas:

  • Datenbankattribute werden durch Elemente dargestellt
  • es wird eine 4-stufige Verschachtelung verwendet
  • die Schlüssel/Fremdschlüssel-Beziehungen werden mithilfe von key und keyref dargestellt (außer zwischen "Buecher" und "Abschnitte", s.u.)
  • die Attributtypen werden (best möglich) durch passende XML-Schematypen abgebildet
  • eine Verschachtelung von Tabellen soll nur für die Tabellen "Buecher" und "Abschnitte" vorgenommen werden
  • für die Tabelle Personen, müssen nur die Attribute Name und ID abgebildet werden. (Wer will, darf die anderen Attribute natürlich auch abbilden.)
  • zu der Tabelle "Abschnitte": Diese soll semantisch übersetzt werden, wobei die Attribute "Buch-ISBN", "Abschnitt-ID", "Typ", "Reihenfolge" und "parent-ID" verwertet werden müssen. Das heißt, diese Tabelle soll auf mehrere Elemnt"typ"en abgebildet werden. In diese Elemente sollen dann nur noch die Attribute "Reihenfolge", "Titel"*** und "Text" übernommen werden. Kleiner Tipp: Überlegen Sie, was dadurch dargestellt wird und wie daraus eine semantisch sinnvolle Struktur wird.

Erstellen Sie eine Instanz (Name der abzugebenden Datei: Bibliothek.xml) zu ihrem Schema, mit folgendem Inhalt:

  1. zwei Personen (ein Autor und ein Kunde)
  2. ein Buch mit einem Kapitel und einem Unterkapitel (der oben erstellte Autor wird diesem Buch zugewiesen)
  3. der Kunde leiht das Buch aus


[Punkt]  Sommersemester 2019

[Punkt]  Wintersemester 2018/19

[Punkt]  Sommersemester 2018

[Punkt]  Wintersemester 2017/18

[Punkt]  Sommersemester 2017

[Punkt]  Sommersemester 2016

[Punkt]  Wintersemester 2015/16

[Punkt]  Sommersemester 2015

[Punkt]  Wintersemester 2014/15

[Punkt]  Sommersemester 2014

[Punkt]  Wintersemester 2013/14

[Punkt]  Sommersemester 2013

[Punkt]  Wintersemester 2012/13

[Punkt]  Sommersemester 2012

[Punkt]  Wintersemester 2011/12

[Punkt]  Sommersemester 2011

[Punkt]  Wintersemester 2010/11

[Punkt]  Sommersemester 2010

[Punkt]  Wintersemester 2009/10

[Punkt]  Sommersemester 2009

[Punkt]  Wintersemester 2008/09

[Punkt]  Sommersemester 2008

[aktiver Punkt]  Wintersemester 2007/08

[Punkt]  Sommersemester 2007

[Punkt]  Wintersemester 2006/07

[Punkt]  Sommersemester 2006

[Punkt]  Wintersemester 2005/06

[Punkt]  Sommersemester 2005

[Punkt]  Wintersemester 2004/05



Ansprechpartner

+49 30 2093-3025