Das Relationenmodell wurde von E.F. Codd im Jahre 1970 eingeführt und hat sich seitdem zum De-facto-Standard in kommerziellen DBMS entwickelt. Es ist aufgrund seiner Einfachheit und Exaktheit auch für Nicht-Experten leicht verständlich und anwendbar.
Alle Informationen der zu modellierenden Anwendungswelt werden im Relationenmodell durch Relationenschemata beschrieben. Ein Relationenschema besteht aus einer Menge von Attributen, die die Eigenschaften der dargestellten Entität darstellen. Jedem Attribut wird ein Wertebereich (auch oft als Domäne bezeichnet) zugeordnet. Dieses sind in der Praxis zumeist Standard-Datentypen, wie beispielsweise Integer, String oder Boolean.
Ein Datenbankschema besteht aus einer Menge von Relationenschemata.
Eine Relation stellt die zu einem Relationenschema passenden Informationen dar. Sie ist mathematisch gesehen eine Teilmenge des kartesischen Produktes über den Wertebereichen der Attribute des Relationenschemas. Anschaulich gesprochen besteht eine Relation aus einer Menge so genannter Tupel. Jedes Tupel besitzt zu jedem Attribut des Relationenschemas genau einen konkreten Wert aus dem entsprechenden Wertebereich – d.h. ein Tupel besitzt genau so viele Werte wie es Attribute im zugehörigen Relationenschema gibt. Da eine Relation eine Menge ist, können niemals zwei Tupel mit identischen Werten für alle Attribute in einer Relation existieren.
Man kann sich eine Relation als eine Tabelle vorstellen:
Visualisierung einer Relation als Tabelle
die Attribute bilden die Spaltenüberschriften der Tabelle
die Tupel sind die Zeilen
die Einträge in den Tabellenplätzen stammen aus den Wertebereichen der entsprechenden Attribute
Als Beispiel betrachten wir ein Relationenschema zur Repräsentation der Angestellten eines Unternehmens. Wir gehen davon aus, dass für alle Angestellten die Personalnummer, der Vor- und Nachname, sowie die Anschrift in Form von Postleitzahl (PLZ), Ort, Straße und Hausnummer gespeichert werden soll.
Es ergibt sich somit das folgende Relationenschema:
Beispiel einer Relation
Ein weiterer Bestandteil einer Datenbankdefinition im Relationenmodell sind Integritätsbedingungen. Diese definieren formale Bedingungen an die möglichen Relationen zu einem Relationenschema, d.h. mit Hilfe von Integritätsbedungen kann man die „guten“ von den „schlechten“ (nicht integeren) Relationen unterscheiden. Diese Integritätsbedingungen werden vom Ersteller des Relationenschemas definiert.
Eine besonders ausgezeichnete und wichtige Integritätsbedingung stellt die Schlüsselbedingung dar. Mit ihr wird eine minimale Teilmenge der Attribute eines Relationenschemas als Schlüssel definiert, d.h. die konkreten Attributwerte dieser Schlüsselattribute treten in einer Relation nur ein einziges Mal auf. Somit lässt sich allein über die Werte der Schlüsselattribute jedes Tupel einer Relation eindeutig identifizieren. In einer Relation mit allen Angestellten eines Unternehmens könnte dieses beispielsweise die eindeutige Personalnummer sein. In einem Relationenschema kann es mehrere potentielle Schlüssel geben. Wird ein Schlüssel von dem Datenbankadministrator ausgezeichnet, so spricht man vom Primärschlüssel. Dieser wird dann bei der Realisierung der Relation für Anfrageoptimierungen speziell implementiert.
Auf eine exakte mathematische Definition des Relationenmodells soll an dieser Stelle verzichtet werden. Der interessierte Leser sei diesbezüglich auf die angegebenen Lehrbücher verwiesen.