Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Eins-zu-Eins und Viele-zu-Viele | Relationales Datenbanksystem
Relationale Datenbank und Normalisierung
course content

Kursinhalt

Relationale Datenbank und Normalisierung

Relationale Datenbank und Normalisierung

1. Datenbankmodelle
2. Relationales Datenbanksystem
3. Normalisierung und Normalformen

book
Eins-zu-Eins und Viele-zu-Viele

Eins-zu-Eins

Eine Eins-zu-Eins Beziehung ist eine, bei der jeder Datensatz in einer Tabelle genau einem Datensatz in einer anderen Tabelle entspricht. Im Gegensatz zu One-to-Many, bei dem ein Datensatz in einer Tabelle mit mehreren Datensätzen in einer anderen Tabelle in Beziehung stehen kann, ist bei der Eins-zu-Eins Verbindung jedes Datensatzpaar eindeutig verknüpft. Diese Beziehung umfasst zwei wesentliche Verbindungen:

  • Die erste Tabelle hat einen foreign key, der auf den primary key der zweiten Tabelle verweist;
  • Umgekehrt hat die zweite Tabelle einen foreign key, der auf den primary key der ersten Tabelle zeigt.

Hinweis

Die Eins-zu-Eins Beziehung beruht auf dem foreign key. Dieser foreign key sollte den Parameter “unique=True” enthalten.

In bestimmten Fällen kann ein Datensatz nur existieren, wenn ein anderer vorhanden ist, wobei letzterer auch eigenständig bestehen kann. Diese Art der Verknüpfung wird als Obligatorisches Eins-zu-Eins bezeichnet.

Betrachten Sie das folgende Diagramm:

Eine weitere Illustration:

Ein verpflichtendes Eins-zu-Eins: Jeder Reisepass muss an eine bestimmte Person gebunden sein. Allerdings kann eine Person auch ohne Reisepass existieren, wie dies bei Kindern der Fall ist.

Viele-zu-Viele

Eine Viele-zu-Viele-Beziehung umfasst zwei Tabellen, die mehrere entsprechende Datensätze zueinander enthalten können, oft vermittelt durch eine Zwischentabelle. Im Gegensatz zur Eins-zu-Viele-Beziehung, bei der ein Datensatz in einer Tabelle mehreren Datensätzen in einer anderen entspricht, ermöglicht eine Viele-zu-Viele-Beziehung, dass mehrere Datensätze beider Tabellen miteinander in Beziehung stehen.

Diese Zwischentabelle sollte drei Spalten haben: id (ein Identifikator für jede Beziehung), first_table_id und second_table_id. Die Spalten first_table_id und second_table_id fungieren als Fremdschlüssel, die wieder auf ihre jeweiligen Tabellen verweisen.

Zum Beispiel betrachten Sie einen Carsharing-Dienst, bei dem sowohl driver_id als auch car_id als Fremdschlüssel fungieren. In der Tabelle „driver-car“ werden fünf unterschiedliche Beziehungen dargestellt:

  • (id 1 und 2) - Fahrer John (driver_id=1) fuhr die Autos Subaru (car_id=1) und BMW (car_id=3);
  • (id 3, 4 und 5) - Fahrer Emma (driver_id=2) fuhr die Autos Subaru (car_id=1), Mercedes (car_id=2) und BMW (car_id=3).

Mehrere Fahrer fuhren verschiedene Autos: Sowohl John als auch Emma fuhren sowohl Subaru als auch BMW.

Datenbankschema:

Typischerweise werden diese Zwischentabellen in Diagrammen weggelassen. Wie oben ersichtlich, wird die driver-car-Tabelle nicht angezeigt.

1. Wählen Sie eine 1:1-Beziehung:

2. Wählen Sie eine Viele-zu-Viele-Beziehung:

Wählen Sie eine 1:1-Beziehung:

Wählen Sie eine 1:1-Beziehung:

Wählen Sie die richtige Antwort aus

Wählen Sie eine Viele-zu-Viele-Beziehung:

Wählen Sie eine Viele-zu-Viele-Beziehung:

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 4
We're sorry to hear that something went wrong. What happened?
some-alt