Einleitung
Abfrage von Datenbanken
Erstellen von Datenbanken
Administration von Datenbanken
Datenbankprogrammierung

Definition einer n:m-Beziehung

Entwurf einer n:m-Beziehung

Eine Bibliothek lebt nicht nur von Büchern, die in Regalen stehen. Vielmehr ist der Sinn einer Bibliothek, dass diese Bücher von Lesern ausgeliehen werden. Daher werden wir unsere Datenbank um eine  weitere Beziehung ergänzen: 

Ein Buch kann von vielen Lesern ausgeliehen werden (im Zeitablauf), und ein Leser kann sich viele Bücher ausleihen (auch im Zeitablauf).

Hinweis: Wir gehen davon aus, dass ein Leser zu einem Zeitpunkt immer nur ein Buch ausleiht. 

Fremdschlüssel und redundante Speicherung

Die Beziehung zwischen Buch und Regal ist eine 1:n-Beziehung. Für die Umsetzung dieser Beziehung wurde der Primärschlüssel der Tabelle Regal als Fremdschlüssel der Tabelle Buch zugewiesen und dadurch jedem Buch ein Verweis auf das Regal zugeordnet. Das konnten wir so machen, weil es zu jedem Buch nur ein Regal gibt. 

Jetzt haben wir allerdings eine n:m-Beziehung. Dadurch müssten wir einem Leser mehrere Verweise auf die ausgeliehenen Bücher zuordnen bzw. einem Buch alle Verweise auf die Leser, welche dieses Buch schon mal ausgeliehen haben. Zusätzlich können wir für die Ausleihe ein Datum speichern. Welcher Tabelle werden wir das zuordnen? 

Umsetzung in SQL

Wir haben mehrere Arbeitsschritte zu befolgen: 

(1) Erstellen der Tabelle Leser 

(2) Erstellen der Tabelle Ausleihe

(3) Definition des Fremdschlüssels von Ausleihe zu Leser 

(4) Definition des Fremdschlüssels von Ausleihe zu Buch 

Cookie Consent Banner von Real Cookie Banner