Das relationale Modell ist ein mögliches Datenbankmodell, das Tabellen (Relationen) zur Beschreibung der Datenbasis benutzt. Als Relationenschema bezeichnet man üblicherweise das zu einem ER-Modell zugehörige relationale Modell.
Das Relationenschema hat folgende Struktur:
- Jede Relation besitzt einen eindeutigen Namen.
- Die Tabellenköpfe bestehen aus Attributen (Feldern).
- Schlüsselattribute werden durch Unterstreichung hervorgehoben.
- Eine Entität wird als Datensatz in der Zeile dargestellt.
Als Primärschlüsselattribut bezeichnet man alle Attribute, die zum Primärschlüssel gehören.
Als Fremdschlüsselattribut (oft auch nur Fremdschlüssel) bezeichnet man ein Attribut, das in einer anderen Tabelle Primärschlüsselattribut ist. Ein Fremdschlüsselattribut wird i. d. R. durch Kursivschrift, Pfeile vor dem Bezeichner oder gepunktete/gewellte Unterstreichung markiert.
Ein Relationenschema lässt sich ohne Datensätze in der Kurzform wie folgt notieren:
Tabellenname(Schlüsselattribut, AttributA, AttributB, ..., Fremdschlüsselattribut)
Umwandlungsregeln:
- Jeder Entitätstyp wird in eine eigene Tabelle abgebildet.
- Einfache Attribute werden Felder.
- Schlüssel werden zu Primärschlüsselattributen.
- Bei zusammengesetzten Attributen gehen nur die Detailattribute in die Tabelle über.
- Mehrwertige Attribute erzeugen eine eigeneTabelle. Es ist ein zweckmäßiger Name selbst zu wählen. Felder der Tabelle werden das mehrwertige Attribut und der Schlüssel aus dem Entitätstyp, der damit Fremdschlüssel wird. Alle Attribute der neuen Tabelle bilden den Primärschlüssel.
- Jede n:m-Beziehung wird in eine eigene Tabelle abgebildet. Die Schlüssel der beteiligten Entitätstypen werden Primärschlüsselattribute und damit Fremdschlüssel. Gegebenenfalls muss zur Erreichung der Eindeutigkeit eines jeden Datensatzes ein weiteres Attribut zum Schlüssel hinzugefügt werden!
- Jede 1:n- oder 1:1-Beziehung kann aufgelöst werden. . Der Schlüssel des Entitätstyps der „1-Seite“ kopiert sich als Fremdschlüsselattribut in die Tabelle des anderen Entitätstyps. Alle Attribute der Beziehung wandern ebenfalls in diese Tabelle. Bei einer 1:1-Beziehung geht nur einmalig ein Schlüssel auf die andere Seite über.
- Jede is_a-Beziehung wird aufgelöst. Der Primärschlüssel des allgemeineren/generalisierten Entitätstyps kopiert sich dabei als Schlüsselkandidat und Fremdschlüssel in die Tabelle des spezialisierten Entitätstyps.
- Liegt eine 1:1-Beziehung in der Form: "Eine Entität des Typs 1 muss genau mit einer Entität des Typs 2 in Beziehung stehen und umgekehrt", so lassen sich die beiden Tabellen zu einer vereinen. Primärschlüssel wird einer der beiden Schlüssel!