Tablas recursivas

Tengo la siguiente duda en cuanto al diseño de base de datos para el registro de programa de actividades con 5 niveles, es decir actividades principales y subActividades, pensé en dividirlo en dos tablas
una llamada Actividades:
LngCodGrupo (Clave Primaria)
LngCodActividad (Clave Primaria)
DescripcionActividad
IdNivel
Padre (SI/NO)
GrupoPadre (FK, campo lngCodGrupo)
IdPadre (FK, lngCodActividad)
Agrego el campo grupo, porque las actividades se repiten según grupos ejemplo
gru- act-descripción-nivel -padre-grupopadre-idpadre
0 1 ACTIVIDAD PRI 1 SI - -
1 1 ACTIVIDAD1 1 NO 0 1
1 2 ACTIVIDAD2 2 NO 1 1
1 3 ACTIVIDAD3 3 NO 1 2
1 4 ACTIVIDAD4 4 NO 1 3
1 5 ACTIVIDAD5 5 NO 1 4
2 1 ACTIVIDAD1 1 NO 0 1
2 2 ACTIVIDAD2 2 NO 1 1
2 3 ACTIVIDAD3 3 NO 1 2
2 4 ACTIVIDAD4 4 NO 1 3
2 5 ACTIVIDAD5 5 NO 1 4
También una tabla llamada Programa relacionada con la tabla actividad donde almaceno la actividad y programación
lngCodIngActPrograma (Clave Primaria)(autonumérico)
LngCodActividad (Clave Primaria)
LngCodGrupo (Clave Primaria)
DtmFecInicioProgramada
DtmFecFinProgramada
LngPesoActividad
StrObservacion
El problema se presenta al almacenar la programación de una actividad, no encuentro la forma de conocer todos los padres de una actividad cuyo nivel es 4:
Ingreso - actividad - grupo - fecha inicio - fecha fin - peso - observaciones
1                      4               1      26/01/2010     28/01/2010        2         -
2                       3               2      26/01/2010     29/01/2010        5         -
De esta forma solo se que la actividad 4 del grupo 1 tiene una programación pero no cual es su actividad padre
Saludos,
y
Respuesta
1
No te entiendo bien, pero creo que deberías hacer una consulta con los campos que deseas de las dos tablas

3 respuestas más de otros expertos

Respuesta
1
Usa el comando dlookup para buscar lo que quieres
o
Enviame la base para poder ayudarte mejor
a [email protected]
Pon tu nick y el titulo de tu pregunta
Si puedes copia la pregunta también
Si se puedes envíamelo en formato 2003
Respuesta
1
No termino de ver ese modelo de datos para el problema, de todas formas antes de contestarte nada.
¿La necesidad final es ver la información jerárquicamente? ¿Top msProject i o similar? Es por analizar las alternativas.
Hola, si la finalidad es ver los datos como ms project, y si tienes alguna información para realizar el diseño de ese tipo de base de datos seria de gran utilidad.
Me sale una posible solución con 4 tablas (si he entendido bien el problema).
Grupos
Actividades
Programa
Grupos Actividades
Enviame tu mail a [email protected] y te paso una BD con el ejemplo a ver si lo pulimos.
Respuesta
1
¿A ver me perdí un poco pero donde tienes la relación padre-actividad? ¿Asumo qué eso es lo que quieres sacar cierto? Y asumo que las actividades las tienes en relación al padre y no al grupo.
Tengo la relación en base al padre y al grupo porque en cada grupo se repiten las actividades, si me das una dirección de correo te envío la base de datos para que entiendas mejor,
saludos
Gracias
Peor hay vas a tener un problema de diseño... por que si los grupos son los que tienen la relación con la actividad... tendrías entonces que hacer un query en donde hagas join entre las tres tablas para extraer la actividad que le corresponde al grupo y por ende el grupo al que pertenece el padre..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas