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:
{[v1,v2,...,vn] | P(v1,v2,...,vn)}
Hierbei sind die vi Domänenvariablen, die einen Attributwert repräsentieren. P ist eine Formel der Prädikatenlogik 1. Stufe mit den freien Variablen v1,v2,...,vn .
Join-Bedingungen können implizit durch die Verwendung derselben Domänenvariable spezifiziert werden. Beispiel:
Alle Professorennamen zusammen mit den Personalnummern ihrer Assistenten:
{[n,a] | p,r,t([p,n,r,t]) Professoren
v,w([a,v,w,p] Assistenten))}
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.