Hola @
rodrypaladin, con respecto a los JOIN, te recomiendo
este artículo que es muy bueno ya que explica gráficamente como funcionan los distintos tipos de JOIN (algo bastante útil a la hora de tratar de entenderlos)
Con respecto al diseño de la base de datos, le decía a @
ocp001a que si bien comparto la misma opinión, creo que tu base de datos podría extenderse de alguna manera, causando de que tener tres tablas no sea algo innecesario... (ese es el problema de la programación, siempre van a haber varias opciones de desarrollar un mismo problema y unas más óptimas que otras
)
Saludos