Gegeben sei die folgende relationale „Geschäftsdatenbank“ einer Kaufhauskette:
(Es kann davon ausgegangen werden, dass eine Abteilung nur von einem Angestellten geleitet wird, welcher selbst in dieser Abteilung tätig ist.)

Tabellenstruktur

Wertebereiche der Attribute

AttributWertebereich
NummerInteger
GehaltDecimal(10,2)
GeburtsjahrInteger
EinstellungsdatumDate
NameString
StockInteger
StadtString
LandString
PreisDecimal
BestandInteger
DatumDate
AnzahlInteger
BetragDecimal

Hinweise

  • Im obigen Schema werden Fremdschlüssel durch eine Linie über dem entsprechenden Attribut gekennzeichnet.
  • Falls der Name der referenzierten Relation nicht dem Namen des Fremdschlüssels entspricht, wird der Name der Relation in eckigen Klammern hinter dem Fremdschlüssel angegeben.

Aufgabe 4-1: Anfragen im Tupelkalkül und Bereichskalkül

Syntaxerweiterung zum Tupel- und Bereichskalkül:

  • Im Tupelkalkül können neue Tupel durch den Tupelkonstruktor [] aus den Komponenten anderer Tupelvariablen erzeugt werden.
    Die Attributnamen im Schema des neuen Tupels werden dabei von den Attributnamen der jeweiligen Komponenten übernommen.
    Zum Beispiel gibt folgender Ausdruck die Namen aller Angestellten zurück:
  • Im Bereichskalkül kann der Unterstrich _ als Platzhalter genutzt werden, falls ein Attribut einer Relation nicht benötigt wird:

Formulieren Sie die folgenden Anfragen jeweils im Tupel- und im Bereichskalkül.
Für Anfragen im Tupelkalkül soll darüber hinaus das Schema aller freien Variablen angegeben werden.

TK:

BK:

a) Bestimmen Sie die Namen aller Angestellten mit einem Gehalt von weniger als 2000.

Tupelkalkül

Bereichskalkül

b) Erstellen Sie eine Liste aller Verkaufsnummern mit Verkaufsdatum, die in den Abteilungen im 3. Stock verkauft wurden und deren Lieferant entweder aus Italien oder aus Frankreich kommt.

Tupelkalkül

Bereichskalkül

c) Bestimmen Sie für alle Filialen in der Stadt Köln, die Nummern und Namen aller Angestellten sowie die Abteilungsnamen, in denen diese Angestellten arbeiten.

Tupelkalkül

Bereichskalkül

d) Bestimmen Sie die Nummern, Namen, Gehalt und Geburtsjahr aller Angestellten, die am 01.10.2023 etwas verkauft haben und keine Leiter einer Abteilung sind.

Tupelkalkül

Bereichskalkül

e) Bestimmen Sie die Nummern und Namen der Lieferanten, welche die Kaufhauskette mit mindestens drei unterschiedlichen Artikeln beliefern.

Tupelkalkül

Bereichskalkül


Aufgabe 4-2: Tupel- und Bereichskalkül

Zeigen Sie, wie man die folgenden Operationen der relationalen Algebra sowohl im Tupel- als auch im Bereichskalkül darstellen kann. Für Anfragen im Tupelkalkül soll darüber hinaus das Schema aller freien Variablen angegeben werden.

a)

Tupelkalkül (TK):

Bereichskalkül (BK):

b)

Tupelkalkül (TK):

Bereichskalkül (BK):

c)

Tupelkalkül (TK):

Bereichskalkül (BK):

d)

Tupelkalkül (TK):

Bereichskalkül (BK):

e)

Tupelkalkül (TK):

Bereichskalkül (BK):

f)

Tupelkalkül (TK):

Bereichskalkül (BK):

g)

Tupelkalkül (TK):

Bereichskalkül (BK):

h)

Tupelkalkül (TK):

Bereichskalkül (BK):