Que tal
bet7o,
Te dejo una referencia
http://www.sitepoint.com/hierarchical-data-database/ y un comentario, el adjacency list model(lo que tu tienes) si bien es lo mas simple lejos esta de ser lo mas eficiente, por lo general es mejor opción el NestedSet, te sugiero que inviertas algo de tiempo en ver las diferentes opciones ya que el manejo de las estructuras de árbol es algo recurrente.
Y si realmente te interesa el tema, este libro lo trata en mas detalle,
Joe Celko's Trees and Hierarchies in SQL for Smarties.
Saludos.