Lesson of 31
No exercício anterior, explicamos que os nomes dos personagens de programas de TV não eram duplicados, então se o nome de um personagem fosse mudar, você só teria que mudar o nome do personagem em uma linha.
No entanto, o exemplo anterior era um pouco artificial porque os nomes dos programas de TV e os nomes dos atores eram duplicados.
Para não duplicar nenhum nome, precisamos ter mais tabelas, e usar múltiplos joins.
Temos tabelas para personagens, programas de TV, e atores. Essas tabelas representam coisas (também conhecidas como entidades).
Além dessas tabelas, temos as tabelas de relacionamento character_tv_show e character_actor, que capturam o relacionamento entre duas entidades.
Esta é uma forma flexível de capturar o relacionamento entre diferentes entidades, já que alguns personagens de programas de TV podem estar em múltiplos programas, e alguns atores são conhecidos por interpretar múltiplos personagens.
Para obter o nome de cada personagem com o nome do seu programa de TV, podemos escrever 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;
Você pode usar dois joins para emparelhar o nome de cada personagem com o ator que os interpreta? Selecione as colunas: character.name, actor.name