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.
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?
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