Hola gerniracing:
En el modelo de BD's, no hay una "mejor" forma de hacer las cosas... sino formas que más se adecuan a lo que necesitas...
Si necesitas tener el "control" independiente de las relaciones que hay entre cada par de tablas (es decir, entre Comunidades - Campeonatos, Campeonatos-Eventos y Comunidades-Eventos) entonces si es necesario hacer una tabla para cada una de las relaciones.
Si no necesitas controlar la relación entre pares y te interesa sólo controlar la relación entre las tres tablas, entonces lo "recomendable" es que tengas tus tres tablas catálogos (Comunidades, Campeonatos, Eventos) y una tabla de relaciones que contenga los id's de cada una de estas tablas...
Código MySQL:
Ver original+--------------+-------------+
| id_comunidad | descripcion |
+--------------+-------------+
| 1 | Comunidad 1 |
| 2 | Comunidad 2 |
+--------------+-------------+
+----------------+--------------+
| id_campeonatos | descripcion |
+----------------+--------------+
| 1 | Campeonato 1 |
| 2 | Campeonato 2 |
+----------------+--------------+
+------------+-------------+
| id_eventos | descripcion |
+------------+-------------+
| 1 | Evento 1 |
| 2 | Evento 2 |
+------------+-------------+
+--------------+----------------+-----------+
| id_comunidad | id_campeonato | id_evento |
+--------------+----------------+-----------+
| 1 | 1 | 1 |
| 1 | 2 | 1 |
| 2 | 3 | 1 |
+--------------+----------------+-----------+
De esta manera podrás relacionar tus tres tablas. insisto, todo depende de lo que necesitas "controlar" o almacenar...
Saludos
Leo.