Datenbanktabellen können neben Primär- und Fremdschlüsseln auch Attribute speichern. Diese sind die eigentlichen „Daten” der Datenbank
(z.B oben: max. Reichweite oder Thrust). Um die Attribute eines Datenbanksystems darzustellen verwendet man die Relationenschreibweise.
Für das Beispiel würde diese folgendermaßen aussehen:
Flugzeug(Kennzeichen, max. Reichweite, Thrust)
Flugstrecke(Flugstr.-ID, Takeofftime, ETA)
Flug(Kennzeichen, Flugstr.-ID)
Zunächst wird der Tabellenname aufgeschrieben. Hinter diesen schreibt man in Klammern zuerst den Primärschlüssel, dann alle Attribute und Fremdschlüssel.
Primärschlüssel werden mit einer durchgezogenen Linie unterstrichen und Fremdschlüssel werden entweder kursiv oder mit einer gestrichelten Linie gekennzeichnet.
Es können auch mehrere Einträge zusammen den Primärschlüssel bilden, so wie bei Flug. Hier werden dann einfach wieder alle, zum Primärschlüssel gehörigen Einträge,
mit einer durchgezogenen Linie unterstrichen.
Eine 1 : 1 Beziehung kann in der Relationenschreibweise in eine gemeinsame Tabelle aufgelöst werden, da hier ja zwei Einträge fest zueinander gehören.
In der neuen Tabelle ist einer der beiden Primärschlüssel weiterhin der Primärschlüssel. Der andere wird zu einem normale Attribut.
Beispiel
Bei diesem Beispiel hat ein Spiel genau eine Anleitung und eine Anleitung gehört genau zu einem Spiel.
Diese kann man in eine folgendermaßen in die Relationenschreibweise bringen und in eine Tabelle auflösen:
Spiel(SpielName, Spieler, Seiten)
Bei einer 1 : n Beziehung kann dies nicht getan werden, da nicht jeder Eintrag genau einem anderen Eintrag zuzuordnen ist.
Gehen wir wieder von einem der obigen Beispiele aus und nehmen an, dass Skier als Primärschlüssel
Ski-ID und als weiteres Attribut die Marke hat.
Die Tabelle Skityp hat als Primärschlüssel Typ-ID
und als weiteres Attribut den Typnamen.
Um aus diesen Informationen die Relationenschreibweise zu bilden, müssen zunächst wieder die Tabellennamen untereinander geschrieben werden.
Danach kann man die bekannten Primärschlüssel und Attribute der jeweiligen Tabellen in Klammern dahinter schreiben.
Skier(Ski-ID, Marke ...
Skityp(Typ-ID, Typname ...
Nun muss noch die „Verbindung” hergestellt werden: Da der Primärschlüssel von Skityp (1) bei mehreren Einträgen in Skier (n) auftauchen kann,
wird der Primärschlüssel von Skityp (Typ-ID) als Fremdschlüssel in die Tabelle Skier geschrieben. Die fertige Relationenschreibweise sieht folgendermaßen aus:
Skier(Ski-ID, Marke, Typ-ID)
Skityp(Typ-ID, Typname)
Als Datenbank mit Einträgen würde dies so aussehen:
Hier sind die Skier 0 & 2 vom selben Skityp: Carving. Deshalb steht der Primärschlüssel von Carving (0) bei diesen beiden Skiern als Fremdschlüssel in der Tabelle.