30.12.2013 Aufrufe

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

Skript - Praktische Informatik / Datenbanken - Universität Kassel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

148<br />

Einführung in XML<br />

for $b in fn:doc("bib.xml")//book<br />

where every $a in $b/author satisfies<br />

($a/last="Stevens" and $a/first="W.")<br />

return $b/title<br />

und liefert überraschenderweise einen dritten Titel.<br />

TCP/IP Illustrated,<br />

Advanced Programming in the UNIX Environment,<br />

The Economics of Technology and Content for Digital TV<br />

Da dieses Buch keine Autoren hat, erfolgt die Auswertung der where-<br />

Klausel mit dem universellen Quantifizierer auf der leeren Folge. Das<br />

ergibt aber immer wahr.<br />

Zuletzt eine Umkehrung der Hierarchie: Titel, die ein Autor geschrieben<br />

hat.<br />

<br />

{<br />

let $a := fn:doc("bib.xml")//author<br />

for $lname in fn:distinct-values($a/last),<br />

$fname in fn:distinct-values($a[last=$lname]/first)<br />

order by $lname, $fname<br />

return<br />

<br />

{$fname, $lname}<br />

{<br />

for $b in fn:doc("bib.xml")//book<br />

where some $ba in $b/author satisfies<br />

($ba/last=$lname and $ba/first=$fname)<br />

order by $b/title<br />

return $b/title<br />

}<br />

<br />

}<br />

<br />

Die Ausgabe lautet<br />

<br />

<br />

Serge Abiteboul<br />

Data on the Web<br />

<br />

<br />

Peter Buneman

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!