Gegeben sind n nicht notwendigerweise unterschiedliche Wertebereiche (auch Domänen genannt) D1,..., Dn, welche nur atomare Werte enthalten, die nicht strukturiert sind, z.B. Zahlen oder Strings.
Eine Relation R ist definiert als Teilmenge des kartesischen Produkts der n Domänen:
Es wird unterschieden zwischen dem Schema einer Relation, gegeben durch die n Domänen und der aktuellen Ausprägung (Instanz). Ein Element der Menge R wird als Tupel bezeichnet, dessen Stelligkeit sich aus dem Relationenschema ergibt. Wir bezeichnen mit sch( R) oder mit = A1,..., An die Menge der Attribute und mit R die aktuelle Ausprägung. Mit dom( A) bezeichnen wird die Domäne eines Attributs A. Also gilt
Im Datenbankbereich müssen die Domänen außer einem Typ noch einen Namen haben. Wir werden Relationenschemata daher durch eine Folge von Bezeichner/Wertebereich - Tupeln spezifizieren, z.B.
Hierbei wird in den eckigen Klammern [ ... ] angegeben, wie die Tupel aufgebaut sind, d.h. welche Attribute vorhanden sind und welchen Wertebereich sie haben. Ein Schlüsselkandidat wird unterstrichen. Die geschweiften Klammern { ... } sollen ausdrücken, daß es sich bei einer Relationenausprägung um eine Menge von Tupeln handelt. Zur Vereinfachung wird der Wertebereich auch manchmal weggelassen: