Den här typen av detta är förmodligen bättre lämpat för en graf stil av datalagring. Något som liknar hur Facebook håller hierarkier av relationer.
Om du är bunden och fast besluten att använda MySQL kan du förmodligen komma undan med ditt schema genom att använda en rekursiv sökning. Eftersom ditt träd kan vara av varierande djup kan du börja självförena dig på en given plats och "gå" nerför en gren som återkommer tills du inte hittade längre ättlingar. Lämna tillbaka den grenen och börja ner nästa. Liknande process för att gå upp för att hitta föräldrar.