Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/06/2011, 05:32
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: niveles y subniveles indeterminados en una base de datos

En realidad, por extraño que te parezca, eso se resuelve simplemente con un campo FK en la tabla, que apunta a la PK de la misma tabla...
La idea es similar a un Árbol-B, donde cada una de las hojas puede ser "padre" de otras. Estas otras tienen en ese campo la PK de su registro padre, y a su vez son apuntadas por otro(s) registro(s) hijos.
El registro raíz es, en este caso, el único registro cuyo valor es NULL, porque no depende de ningún otro.
Este tipo de esquemas se usa para determinar la cadena de mando de empleados, donde la FK apunta a la del empleado Jefe de sección, departament, etc. A su vez, el registro del Jefe, apunta al del Gerente, y el del Gerente... bueno, eso dependerá de la organización.
Este modelo no es invento mío, es el esquema que se usa en las bases de datos de pruebas que tienen Oracle, SQL Server y otros más (la tabla, en Oracle, la encontrarás descripta en los manuales de los cursos oficiales).

Tip: A nivel de implementación el único problema es que requiere que las consultas sean creadas dinámicamente, porque a priori no conoces cuántos niveles tiene esa jerarquía.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)