C'è un'ottima descrizione della gestione dei dati gerarchici in mysql qui:gestione gerarchica dati Ecco un altro buon esempio di creazione di array nidificati:costruzione di array nidificati
Potresti pensare di utilizzare il modello Nested Set. Se hai intenzione di interrogare cose mutch, è meglio del modello di adiacenza che stai utilizzando in questo momento.
Spero di esserti stato d'aiuto.