prev up next

Der relationale Domänenkalkül

Im relationalen Domänenkalkül werden Variable nicht an Tupel, sondern an Domänen, d.h. Wertemengen von Attributen, gebunden. Eine Anfrage hat folgende generische Struktur:

\begin{displaymath}\{[v_1, v_2, \ldots, v_n] \mid P(v_1, v_2, \ldots, v_n ) \}\end{displaymath}

Hierbei sind die $v_i$ Domänenvariablen, die einen Attributwert repräsentieren. $P$ ist eine Formel der Prädikatenlogik 1. Stufe mit den freien Variablen $v_1, v_2, \ldots, v_n$.

Join-Bedingungen können implizit durch die Verwendung derselben Domänenvariable spezifiziert werden. Beispiel:

Alle Professorennamen zusammen mit den Personalnummern ihrer Assistenten:

\begin{displaymath}\{[n,a] \mid \exists p, r, t ([p, n, r, t] \in Professoren\end{displaymath}


\begin{displaymath}~~~~~~~\wedge \exists v, w ([a, v, w, p] \in Assistenten ))\}\end{displaymath}

Wegen des Existenz- und Allquantors ist die Definition des sicheren Ausdruckes etwas aufwendiger als beim Tupelkalkül. Da sich diese Quantoren beim Tupelkalkül immer auf Tupel einer vorhandenen Relation bezogen, war automatisch sichergestellt, daß das Ergebnis eine endliche Menge war.


prev up next