prev up next

Der relationale Tupelkalkül

Im relationalen Tupelkalkül hat eine Anfrage die generische Form

{t | P(t)}

wobei t eine sogenannte Tupelvariable ist und P ist ein Prädikat, das erfüllt sein muß, damit t in das Ergebnis aufgenommen werden kann. Das Prädikat P wird formuliert unter Verwendung von $ \vee$ , $ \wedge$ ,$ \neg$,$ \forall$,$ \exists$, .

Alle C4-Professoren:

{p | p $\displaystyle \in$ Professoren $\displaystyle \wedge$ p.Rang = 'C4'}

Alle Professorennamen zusammen mit den Personalnummern ihrer Assistenten:

{[p.Name, a.PersNr]  |  p $\displaystyle \in$ Professoren $\displaystyle \wedge$ a $\displaystyle \in$ Assistenten $\displaystyle \wedge$ p.PersNr = a.Boss}

Alle diejenigen Studenten, die sämtliche vierstündigen Vorlesungen gehört haben:

{s | s $\displaystyle \in$ Studenten $\displaystyle \wedge$ $\displaystyle \forall$v $\displaystyle \in$ Vorlesungen(v.SWS = 4 $\displaystyle \Rightarrow$        

       $\displaystyle \exists$h $\displaystyle \in$ hören(h.VorlNr = v.VorlNr $\displaystyle \wedge$ h.MatrNr = s.MatrNr))}

Für die Äquivalenz des Tupelkalküls mit der Relationenalgebra ist es wichtig, sich auf sogenannte sichere Ausdrücke zu beschränken, d.h. Ausdrücke, deren Ergebnis wiederum eine Teilmenge der Domäne ist. Zum Beispiel ist der Ausdruck

{n | $\displaystyle \neg$(n $\displaystyle \in$ Professoren)}

nicht sicher, da er unendlich viele Tupel enthält, die nicht in der Relation Professoren enthalten sind.


prev up next