27.12.2012 Aufrufe

Formaler Datenbankentwurf - Informatixx

Formaler Datenbankentwurf - Informatixx

Formaler Datenbankentwurf - Informatixx

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

c Professor Dr. Georg Lausen, 2001: Vorlesung Datenbanken SQL: Tabellenausdrücke.4<br />

Mengenoperationen<br />

Welche Länder sind Teil von Europa und von Asien?<br />

(SELECT country<br />

FROM encompasses<br />

WHERE continent = 'Europe')<br />

INTERSECT<br />

(SELECT country<br />

FROM encompasses<br />

WHERE continent = 'Asia');<br />

c Professor Dr. Georg Lausen, 2001: Vorlesung Datenbanken SQL: Tabellenausdrücke.6<br />

Teilanfragen mit Korrelationsvariablen<br />

Bei Verwendung von Korrelationsvariablen von übergeordneten Anfragen wird die<br />

Teilanfrage pro Wertekombination der Korrelationsvariablen einmal ausgeführt.<br />

Mitglied in denselben Organisationen wie Andorra? (Division!)<br />

SELECT DISTINCT country<br />

FROM is member M<br />

WHERE NOT EXISTS<br />

((SELECT DISTINCT organization FROM is member<br />

WHERE country = 'AND')<br />

EXCEPT<br />

(SELECT DISTINCT organization FROM is member<br />

WHERE country = M.country));<br />

c Professor Dr. Georg Lausen, 2001: Vorlesung Datenbanken SQL: Tabellenausdrücke.5<br />

Welche Land-ID's treten in der Relation Country oder (und nicht in) der Relation<br />

encompasses auf?<br />

(SELECT code<br />

FROM Country)<br />

UNION<br />

(SELECT country<br />

FROM encompasses);<br />

(SELECT code<br />

FROM Country)<br />

EXCEPT<br />

(SELECT country<br />

FROM encompasses);<br />

Mittels UNION ALL, INTERSECTION ALL, EXCEPT ALL werden Duplikate der<br />

Zeilen berücksichtigt.<br />

Hat der erste Operand n Duplikate eines Tupels und der zweite Operand m, wobei<br />

0 n� m, dann hat das Ergebnis n +m, min(n� m), max(n�m� 0) Duplikate dieses<br />

Tupels.<br />

c Professor Dr. Georg Lausen, 2001: Vorlesung Datenbanken SQL: Tabellenausdrücke.7<br />

Welche Organisationen haben alle europäischen Länder als Mitglieder und nur<br />

gerade diese? (Mengengleichheit!)<br />

(SELECT DISTINCT organization<br />

FROM is member im1<br />

WHERE (NOT EXISTS<br />

(SELECT Country<br />

FROM encompasses<br />

WHERE encompasses.continent = 'Europe') EXCEPT<br />

(SELECT im2.Country<br />

FROM is member im2<br />

WHERE im2.organization = im1.organization))<br />

AND (NOT EXISTS<br />

(SELECT im2.Country<br />

FROM is member im2<br />

WHERE im2.organization = im1.organization) EXCEPT<br />

(SELECT Country<br />

FROM encompasses<br />

WHERE encompasses.continent = 'Europe')));

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!