In der letzten Übung haben wir erklärt, dass die Namen der Serienfiguren nicht doppelt gespeichert werden - ändert sich der Name einer Figur, ist nur eine Zeile anzupassen.
Das Beispiel war allerdings etwas künstlich, denn die Namen der Serien und der Schauspieler kamen mehrfach vor.
Damit gar kein Name doppelt gespeichert wird, brauchen wir mehr Tabellen und mehrere Joins.
Wir haben Tabellen für Figuren, Serien und Schauspieler. Diese Tabellen stehen für Dinge (auch Entitäten genannt).
Dazu kommen die Beziehungstabellen character_tv_show und character_actor, die die Beziehung zwischen zwei Entitäten festhalten.
Das ist eine flexible Art, Beziehungen abzubilden: Manche Figuren kommen in mehreren Serien vor, und manche Schauspieler sind für mehrere Figuren bekannt.
Um jeden Figurennamen zusammen mit dem Namen der Serie zu bekommen, schreiben wir
SELECT character.name, tv_show.name
FROM character
INNER JOIN character_tv_show
ON character.id = character_tv_show.character_id
INNER JOIN tv_show
ON character_tv_show.tv_show_id = tv_show.id;
Kannst du mit zwei Joins jeden Figurennamen mit dem Schauspieler verbinden, der die Figur spielt? Wähle die Spalten: character.name, actor.name