Laura: SQL und relationale Algebra

Beitrag lesen

Hallo Forum,

ich habe 2 Tabellen:

zutat (znr, name) gericht (gnr, znr, kalorien).

Und ich muss 2 Abfragen machen (sowohl SQL, als auch Ausdruck der relationalen Algebra):

  1. Welches Gericht hat die meisten Kalorien?

Meine Idee für SQL:

SELECT kalorien
FROM gericht
WHERE kalorien= ( SELECT MAX(kalorien) FROM gericht);

Aber bei relationaler Algebra gibt es (soweit ich weiß) keine Aggregatfunktionen. Deswegen weiß ich nicht, wie ich diese Query in einen Ausdruck übersetzen kann. Könnte mir jemand einen Tip geben?

  1. Welche Zutaten werden für alle Gerichte benötigt?

SQL Abfrage habe ich mit doppelten NOT EXISTS gemacht:

SELECT name
FROM zutat z1
WHERE NOT EXISTS (
SELECT *
FROM gericht g
WHERE NOT EXISTS (
SELECT *
FROM zutat z2
WHERE z1.znr=z2.znr AND z2.znr=g.znr)
);

Auch hier weiß ich nicht, wie man EXISTS bzw. NOT EXISTS in ein Ausdruck der relationalen Algebra übersetzt und brauche einen Hinweis. Kann mir jemand helfen?

Danke im Voraus

Laura