Advanced Databases (DB2)

5. Übungsblatt

Aufgabe 11: XPath

18
Geben Sie XPath Ausdrücke für die folgenden Anfragen an das XML-Dokument “flug.xml” an.
  1. Welchen Flugzeugtyp nutzt der Flug mit Flugnummer “LH12”?
  2. Bestimmen Sie die Flugnummern aller Flüge, bei denen bisher weniger als 150 Plätze belegt sind.
  3. Von welchen Flughäfen aus starten Flüge nach Frankfurt, die weniger als zwei Zwischenstopps einlegen?
  4. Geben Sie die Kapazität der Flugzeuge an, die von Moskau aus starten.
  5. Zusatzaufgabe: Prüfen Sie, ob der Flug mit der Flugnummer “LH12” überbucht ist. Falls ja, geben Sie den Flugzeugtyp aus.
0%
Achtung: Unüberprüfte Lösung!
(Funktioniert trotzdem)

  1. doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/@FlugNr="LH12"]/@Maschine
  2. doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/Gebucht<"150"]/@FlugNr
  3. doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/Ziel="Frankfurt"][count(self::*/Zwischenstopp)<2]/Start
  4. doc("flug.xml")/Fluggesellschaft/Flugzeuge/Flugzeug[self::*/@Typ=doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/Start="Moskau"]/@Maschine]/Kapazitaet
  5. doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/@FlugNr="LH12" and self::*/Gebucht > doc("flug.xml")/Fluggesellschaft/Flugzeuge/Flugzeug[self::*/@Typ=doc("flug.xml")/Fluggesellschaft/Fluege/Flug[self::*/@FlugNr="LH12"]/@Maschine]/Kapazitaet]/@Maschine

Aufgabe 12: XQuery

12
Geben Sie XQuery Ausdrücke für die folgenden Anfragen an das XML-Dokument “flug.xml” an. Achten Sie dabei auf eine sinnvoll formatierte Ausgabe.
  1. Bestimmen Sie alle Flüge, die Berlin als Ziel haben. Geben Sie für jeden passenden Flug sowohl die Flugnummer als auch den Start-Flughafen an.
  2. Listen Sie alle Flugzeugtypen, sortiert nach ihrer Kapazität, auf.
  3. Bestimmten Sie sowohl die Anzahl als auch die Gesamtdauer der Zwischenstopps des Fluges “LH12”.
0%
Achtung: Unüberprüfte Lösung!
(Funktioniert trotzdem)

  1. <ergebnis>
    for $x in doc("flug.xml")/Fluggesellschaft/Fluege/Flug
    where $x/Ziel="Berlin"
    return <Flug Start="{$x/Start}" FlugNr="{$x/@FlugNr}" />
    </ergebnis>
  2. <ergebnis>
    for $x in doc("flug.xml")/Fluggesellschaft/Flugzeuge/Flugzeug
    order by $x/Kapazitaet
    return <Flug Typ="{$x/@Typ}" Kapazitaet="{$x/Kapazitaet}" />
    </ergebnis>
  3. <ergebnis>
    for $x in doc("flug.xml")/Fluggesellschaft/Fluege/Flug
    where $x/@FlugNr="LH12"
    return <Zwischenstopps name="{count($x/Zwischenstopp)}" summe="{sum($x/Zwischenstopp/@Aufenthalt)}" />
    </ergebnis>

Aufgabe 13: Fallstudie Wörterbuch

30
Diese Aufgabe wurde noch nie von irgemdwem gelöst und ist ein Artefakt aus längt vergangener Zeit.
0%
Lösung folgt nie.