Fachkonzept - Beziehungstabelle
Die Beziehung zwischen Benutzern und ihren Gruppen lässt sich nicht mehr ohne Probleme mit einfachen Fremdschlüssel-Attributen speichern.
In einem ersten Versuch könnte man zu jedem Benutzer die Gruppen speichern, in denen er Mitglied ist.
Dies funktioniert augenscheinlich nicht; ein Benutzer kann in vielen Gruppen Mitglied sein. Eine Liste von Gruppennummern ist aber nicht erlaubt (atomare Werte!) und das Vervielfachen von Benutzer- Datensätzen scheidet auch aus.
Als weiteren Versuch könnte man zu jeder Gruppe deren Mitglieder speichern.
Hier ist noch klarer zu sehen, dass das nicht möglich ist - Gruppen haben oft viele Hundert Mitglieder.
Tabelle mit Schlüsseln
Als Lösung bietet sich eine Tabelle an, die nur die Verbindung zwischen Gruppen und ihren Mitgliedern
herstellt. Dazu werden nur zwei Attribute benötigt, die jeweils als Fremdschlüssel auf die benutzer
- und
die gruppe
-Tabelle verweisen. Als Besonderheit hat diese Tabelle kein "Gegenstück" als Objekte der realen
Welt (wie eben Benutzer oder Gruppen) 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.