giustamente, segui la teoria dei db relazionali, quando ci sono delle relazioni molti-a-molti vanno scomposte in più relazioni uno-a-molti.

questo viene fatto con l'aggiunta di una tabella di appoggio.

N.B. Non volevo minimizzare la tua soluzione, solo segnalare che studiando un po' di teoria si arriva a queste soluzioni senza scervellarsi.