una representacion programacion partir matriz lista hacer grafos grafo como codigo adyacencia mysql join nested

mysql - representacion - matriz de adyacencia en java



¿Hay algún padre fuera de línea en el modelo de lista de adyacencia de MySQL? (1)

Tengo una tabla de base de datos que se ve así:

id | parent_id | status 1 | null | 1 2 | null | 0 3 | null | 1 4 | 2 | 1 5 | 4 | 1

Entonces, como puede ver, tenemos algunas categorías que son hijos el uno del otro, y la profundidad es ilimitada.

Lo que quiero saber es si hay alguna manera fácil de averiguar si algún padre en un árbol en particular tiene el status 0.

Sé que si hubiera una profundidad fija, podría hacer tantas combinaciones, y luego usar Min(status) para averiguar si alguna de ellas está configurada en 0, pero no sé cómo hacer esto teniendo una profundidad indefinida. ?


Con el modelo de lista de adyacencia que está utilizando, no es posible porque tendría que recorrer el gráfico hacia arriba recursivamente, algo que MySQL no puede hacer. Debería considerar cambiar sus datos al modelo de conjuntos anidados donde puede obtener fácilmente la ruta a la raíz.