En realidad el modelo de datos que planteas .. no sé si es correcto (no lo he evaluado) .. pero lo que más se usa es este que describe esta FAQ.
http://www.forosdelweb.com/showpost....&postcount=140
Se usa una sóla tabla .. pero un campo de esta determina quien es su "padre" .. El "arbol" se generar haciendo consultas recursivas a esa tabla para ver si hay más hijos ...
No es la única técnica ..
Un saludo,