Das Relationenmodell

Theorie Icon Wir haben bereits das ER-Modell als Entwurfsmodell für die konzeptionelle Phase des Datenbankentwurfs kennengelernt. Möchte man einen solchen Entwurf implementieren, also den Entwurf in eine konkrete Datenbank überführen, kann das Relationenmodell als Realisierungsmodell herangezogen werden.

Zusätzlich zum ER-Diagramm werden im Relationenmodell folgende Dinge ersichtlich:

  • Datentyp der Attribute
  • Ob ein Attribut angegeben werden muss oder nicht, d. h. ob der Wert Null zulässig ist
  • Ob für das Attribut ein Standardwert vorliegt (z. B. das Datum des heutigen Tages)
  • Über welche Attribute die Tabellen verknüpft sind

Demnach unterscheidet sich in der Praxis das Relationenmodell vor allem dadurch vom ER-Modell, dass es reichhaltiger ist. Die Attribute werden durch zusätzliche Informationen beschrieben (Datentyp, NotNull, AutoInc). Außerdem wird ersichtlich, welches Attribut die Verknüpfung zwischen Entitäten herstellt.

Relationen und Tupel

RelationBegriffe im Relationenmodell

Relationen kann man sich wie Tabellen vorstellen: Der Relationenname entspricht dem Namen der Tabelle. In der Kopfzeile finden wir die Namen der Attribute. Diese Zeile definiert die Struktur der Tabelle und es wird ersichtlich, wie viele Spalten diese hat und wie diese benannt sind. Die Informationen über die Tabellenstruktur wird auch Relationenschema genannt.

Die restlichen Zeilen bilden die eigentliche Relation. Eine einzelne Zeile innerhalb dieser Relation heißt Tupel.

Wertebereiche und Datentypen

Anders als beim ER-Modell werden im Relationenmodell den Attribute nun Wertebereiche (Datentypen) zugeordnet. Darunter sind die folgenden Wertebereiche, die uns in der Programmierung als Datentypen von Variablen bereits begegnet sind:

Bei einer Zahl wird nach verschiedenen Eigenschaften unterschieden:

  • Ganzzahl Byte: dieser beinhaltet ganze Zahlen von -127 bis 128, also Zahlen die höchstens 8 Bit Speicherplatz benötigen
  • Ganzzahl Integer: beinhaltet auch ganze Zahlen unter -127 und über 128
  • Gleitkommazahl: akzeptiert auch Kommazahlen
Hinweis

In der Regel werden nur dann Zahlen-Datentypen verwendet, wenn arithmetische Vergleiche oder Operationen auf den Datenwerten angewendet werden sollen. Telefonnummern und Postleitzahlen z. B. werden oft als Text gespeichert.