Manche Zusammenhänge in Tabellen lassen sich nicht durch eine 1:n Beziehung modellieren. Schauen wir uns die Datenbank einer Bibliothek an. Die Klassen und ihre Beziehungen lassen sich so modellieren:

Wir sehen, dass BUCH zu VERLAG eine 1:n Beziehung hat. Da ein Buch (besonders Fachbücher) aber oft mehr als eine*n Autor*In haben kann, bildet sich hier eine n:m Beziehung.
In der Modellierung von Datenbanken gibt es öfter Beziehungen, bei denen ein Objekt der einen Klasse mit mehreren Objekten der anderen Klasse in Beziehung stehen, und gleichzeitig andersherum auch. Ein solcher Zusammenhang wird durch eine n:m Beziehung modelliert.
Merksatz 1.2.1
Nun stellt sich die Frage, wie man diese Beziehung in der Datenbank abbilden kann. Wir stehen wieder vor dem gleichen Problem wie bei der 1:n Beziehung, nur können wir diesmal kein einzelnes Attribut speichern, da es keine „1“ Seite gibt.
Die Lösung dieses Problems ist, dass wir eine neue Tabelle erstellen, in der die Verbindung zwischen den Objekten der beiden Klassen gespeichert werden:
| A_ID | Vorname | Nachname | … |
|---|---|---|---|
| 1 | Mark | Elsberg | … |
| … | … | … | … |
| ISBN | Titel | Seiten | … |
|---|---|---|---|
| 3734100933 | Zero | 512 | … |
| … | … | … | … |
Erstellen der neuen Tabelle „schreibt“:
| ID | Autor | Buch |
|---|---|---|
| 1 | 1 | 3734100933 |
| … | … | … |
Die Tabelle „schreibt“ besteht aus Schlüssel (ID) und den Fremdschlüsseln Autor und Buch, die auf die Primärschlüssel der Tabellen AUTOR (A_ID) und BUCH (ISBN) zeigen.
Die n:m Beziehung wird durch eine neue Tabelle in der Datenbank gespeichert. Dabei besteht die Tabelle aus einem künstlichem Primärschlüssel und den Fremdschlüsseln, die auf die Objekte der Klassen, die beteiligt sind, zeigen.
Merksatz 1.2.2
Aufgaben
Alle Aufgaben werden mit der DBIU gelöst: www.dbiu.de/kunstsammlung
Aufgabe 1:
Gib alle Künstlernamen und Ihre Werke aus.
Aufgabe 2:
Gib alle Ausstellungen und die Kunstwerk-Titel, die in der jeweiligen Ausstellung hängen, aus. Sortiere nach der Ausstellung.
Aufgabe 3:
Gib alle Kunstwerknamen mit Erscheinungsdatum und deren Künstler*In mit Nachnamen und Vornamen aus.
Aufgabe 4:
Finde heraus, wie viele Werke jeder Künstler*In in allen Ausstellungen insgesamt hat. Gib dabei nur die Top Ten in Ihrer Reihenfolge aus.
Aufgabe 5:
Wie musst du die Abfrage aus Aufgabe 4 erweitern, wenn man zusätzlich noch die Ausstellung in der das jeweilige Werk steht hinzufügen will?
Aufgabe 6:
Gib alle Ausstellungen mit Ihrer Stadt und deren Ausstellungsort und die dazugehörigen Titel der entsprechenden Werke, die in der Ausstellung stehen, aus.
Aufgabe 7:
Wie muss man die Abfrage aus Aufgabe 6 erweitern, dass man nun auch Vor- und Nachname des jeweiligen Künstlers dabei hat?
Aufgabe 8:
Wenn du fertig bist, kannst du versuchen das Murder-Mystery aufzuklären.