Fachkonzept - Beziehungstabelle
Die Beziehung zwischen Flüssen und Orten lässt sich nicht mehr ohne Probleme mit einfachen Fremdschlüssel-Attributen speichern.
In einem ersten Versuch könnte man zu jedem Fluss den Ort speichern, den er durchfließt.
Dies funktioniert augenscheinlich nicht; ein Fluss fließt durch viele Orte, so dass eine Liste angelegt werden müsste oder die Fluss-Datensätze vervielfacht würden. Beides ist nicht erlaubt.
Als weiterer Versuch könnte man zu jedem Ort den Fluss speichern, an dem der Ort liegt.
Für viele Ortschaften könnte hier gar nichts gespeichert werden (viele Datensätze mit leeren Attributwerten. Zum anderen gibt es Orte, zu denen mehrere Flüsse (Passau oder Hann. Münden z.B. sogar drei) zugeordnet werden müssten. Wieder führt dies zu einer Vervielfachung von Datensätzen.
Tabelle mit Schlüsseln
Als Lösung bietet sich eine Tabelle an, die nur die Verbindung zwischen den Orten und den Flüssen herstellt. Dazu werden nur zwei Attribute benötigt, die jeweils als Fremdschlüssel auf die fluss- und die ort-Tabelle verweisen. Als Besonderheit hat diese Tabelle kein "Gegenstück" als Objekte der realen Welt (wie eben Orte oder Flüsse) sondern dient rein zur Herstellung der Beziehung.
Gehören zu einem Datensatz einer Tabelle mehrere Datensätze einer zweiten Tabelle und gilt dies auch umgekehrt, dann spricht man von einer n:m-Beziehung. In diesem Fall kann diese Beziehung in einer relationalen Datenbank nur mit einer künstlichen, zusätzlichen Beziehungstabelle abgebildet werden.
Warum die Bezeichnung n:m-Beziehung?
Die Bezeichnung n:m-Beziehung kann man sich gut veranschaulichen, wenn du einmal folgende Darstellung nutzt:
Du kannst erkennen, dass von einem Ort mehrere Verbindungen zu den Flüssen ausgehen und auch von einem Fluss mehrere Verbindungen
zu den zugehörigen Orten. Mache dir das konkret an den beiden rot umrandeten Objekten klar.
Folgende Sprechweise kann dir dabei helfen: