Ciao, grazie per la risposta, ma la tua soluzione non fa al caso mio!
Le sottocategorie devono essere viste come entità a sè stanti, che hanno delle proprietà (tra cui il parent_id di appartenenza).
La tua soluzione può essere usata per un'associazione basilare (utilizzando comunque gli ID al posto dei 'nomi' delle categorie), ma come ho scritto sotto è meglio prevedere la possibilità di avere N sottocategorie.. e mettere tutto su una tabella come quella proposta da te sarebbe un vero casino.

Una tabella associativa poi diventa inutile dato che una sottocategoria può essere associata ad una sola categoria.. ecco il motivo del campo parent_id