Genauso wie in der Realität gibt es zwischen Tabellen Beziehungen. Beispiele:

  • Lehrer - Schüler
  • Schlüssel - Schloss
  • Buch - Autor

Es gibt verschiedene Arten, wie zwei Tabellen in Beziehung stehen können:

Arten von Beziehungen

1:1-Beziehung

Jedem Datensatz einer Tabelle wird genau ein Datensatz einer anderen Tabelle zugeordnet und umgekehrt.

Mathematisch heißt das, es gibt eine bijektive Abbildung zwischen den beiden Tabellen.

Beispiel: Jeder Mensch besitzt nur eine Nase, und jede Nase gehört nur einem Menschen.

bijektiv

1:1-Beziehung zwischen 2 Tabellen. Datensätze sind durch rote Punkte dargestellt.

1:n-Beziehung

Jedem Datensatz einer Tabelle wird genau ein Datensatz einer anderen Tabelle zugeordnet; umgekehrt kann ein Datensatz aber beliebig vielen Datensätzen der anderen Tabelle zugeordnet sein.

Beispiel: Ein Kind kann nur eine leibliche Mutter haben, eine Mutter kann aber mehrere leibliche Kinder haben.

Hier werden Schlüssel wichtig: Die linke Tabelle braucht einen Primärschlüssel. Die rechte Tabelle bekommt einen Fremdschlüssel, der sich auf die linke Tabelle bezieht. So kann jedem Datensatz in der rechten Tabelle der entsprechende Datensatz in der linken Tabelle zugeordnet werden.

surjektiv

1:n-Beziehung zwischen 2 Tabellen

n:m-Beziehung

Jedem Datensatz einer Tabelle werden beliebig viele Datensätze einer anderen Tabelle zugeordnet; umgekehrt werden einem Datensatz ebenfalls beliebig viele Datensätze der anderen Tabelle zugeordnet.

Beispiel: Ein Autor kann mehrere Bücher schreiben und ein Buch kann von mehreren Autoren geschrieben werden.

n:m-Beziehungen gibt es in Datenbanken nicht; es wird daher eine weitere Tabelle benötigt, die als Vermittler dazwischen fungiert. Die n:m-Beziehung wird damit aufgespalten in eine n:1-Beziehung und eine 1:n-Beziehung.

Die beiden ursprünglichen Tabellen brauchen beide einen Primärschlüssel. Die neue Tabelle enthält für alle Datensatz-Paare, zwischen denen die Beziehung gilt, die Primärschlüssel beider Tabellen.

Die neue Tabelle heißt in diesem Beispiel AutorZuBuch. Wir definieren die künstlichen Schlüssel autorID als Primärschlüssel für die Autoren und isbn als Primärschlüssel für die Bücher. In AutorZuBuch befinden sich also autorID und isbn als Fremdschlüssel.

mn-Beziehung

n:m-Beziehung zwischen 2 Tabellen

m1n-Beziehung

normalisierte n:m-Beziehung mit zusätzlicher Tabelle

Kommentieren Kommentare

Aloso 2017-12-16 19:48:18
Hinweis: Manche nennen die Tabellen auch Klassen. Dies ist falsch. Der korrekte Begriff lautet Relationen, denn es geht hier um relationale Datenbanken.
Hauke 2018-02-06 21:59:38
Der korrekte Begriff ist nicht unbedingt Relationen, da es nicht nur diese im relationalen Datenbankmodell gibt, sondern auch Entitäten. Der Vergleich der Objektorientierten und der relationalen Modellierung kann anschaulich über Schemata wie einem Klassendiagramm und einem ER-Diagramme gleichwertig zum gleichen kleinen Datenbankausschnitt dargestellt werden, dann entsprechen Klassen den Entitäten und Beziehungen den Relationen.
Antwort abschicken