
27/08/2013, 12:50
|
 | Colaborador | | Fecha de Ingreso: abril-2007 Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 10 meses Puntos: 270 | |
Respuesta: [APORTE] Estructura de árbol desde de base de datos Aparte de opiniones estilisticas (si una clase tiene exactamente el mismo nombre que un interface, es que no existe ese interface), cargar *todos* los elementos de un árbol, reconstruirlo en memoria, para devolver un nodo, o la lista de nodos hijos directos de un nodo...
Obtener 1 nodo , o sus hijos directos, se consigue con 1 query, sin necesidad de una clase que reconstruya el árbol entero en memoria.
Incluso para alguna operación más, con arrays se puede crear el código equivalente en unas 4 o 5 líneas.(pista: si el select ya va ordenado por nodo-padre, campo-por-el-que-ordenar-hijos), no es necesario sort, usort,etc).
Por otro lado,si te ha funcionado es porque la tabla que utilizas, tiene sólo unos cuantos elementos.Por eso puedes hacer un select + inner join de toda la tabla.
Supón que la tabla tiene 1 millón de filas.
De todo lo que he visto sobre árboles, especialmente en base de datos, (y hay algún libro exclusivamente dedicado a cómo implementar árboles en SQL) lo que mejor me ha funcionado es mantener el path completo desde el root, hasta el nodo, en un campo de la tabla. |