Esa es la manera correcta. Lo que puede no existir es ese ID numérico que usas, porque el verdadero identificador de una empresa, y de un modelo no es ese.
Todo el resto surge de lo que se denomina
normalización de bases de datos, y en tanto tu base cumpla con las 1FN, 2FN y 3FN, por más retorcido que te parezca, está bien hecho. SI lo que te molesta es lo larga que resulta una consulta bajo este tipo de esquemas mi sugerencia es que aprendas a ser paciente con eso, porque lo que ganas es mayor a lo que pierdes.