Normalerweise empfehle ich ein Design namens Closure Table .
Siehe Beispiel in meiner Antwort auf Was ist der effizienteste/eleganteste Weg, eine flache Tabelle in einen Baum zu parsen?
Ich habe auch diese Präsentation entworfen:Modelle für hierarchische Daten mit SQL und PHP . Ich habe eine PHP-App entwickelt, die einen Baum in 0,3 Sekunden aus einer Sammlung hierarchischer Daten mit 490.000 Knoten rendert.
Ich habe hier über Closure Table gebloggt:Rendering Trees with Closure Tabelle .
Ich habe in meinem Buch SQL Antipatterns:Avoiding the Fallstricke der Datenbankprogrammierung .