Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/01/2014, 12:02
Avatar de catpaw
catpaw
 
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 14 años, 7 meses
Puntos: 23
consejo para estructurar correctamente mi base de datos

Hola forer@s primero que nada les deseo un excelente 2014!! y que esta comunidad siga creciendo y sigamos apoyandonos como hasta ahora!!

Bueno necesito de su experiencia, pues me estoy rompiendo la cabeza y no llego a nada, ya llevo pensando esto desde el año pasado jejeje

Ayudenme a aterrizar lo siguiente para poder crear lo mejor posible la BD

-----

Se supone que tenemos areas, las areas tienen procesos, procesos tienen subprocesos, los subprocesos tienen subsubprocesos.

Aca el primer tope, un proceso se divide en subprocesos que asu vez se dividen en mas subprocesos y esto asu vez se dividen y asi hasta ser necesario.

como evitar llenarme de tablas: procesos, subprocesos, subsubprocesos ... ect
y hacer algo como mas independiente o recursivo?



Luego entonces tenemos algo asi:

area1
-------procesos
-----------------subprocesos
-------------------------------subsubprocesos
------------------------------------------------y los niveles que sean necesarios

area2
-------procesos
-----------------subprocesos
-------------------------------subsubprocesos
------------------------------------------------y los niveles que sean necesarios

area N
-------procesos
-----------------subprocesos
-------------------------------subsubprocesos
------------------------------------------------y los niveles que sean necesarios

Ahora tenemos que por cada proceso hay actividades y estas estan compuestas de tareas a cumplir.

Bien pues resulta que las actividades se pueden llevar a cabo a nivel de subsubproceso y/o subproceso y/o proceso

y para cada area puede variar hasta a que nivel llega la actividad, por ejemplo:

area1
-------procesos
-----------------subprocesos (actividades->tareas)
-------------------------------subsubprocesos
------------------------------------------------y los niveles que sean necesarios

area2
-------procesos (actividades->tareas)
-----------------subprocesos (actividades->tareas)
-------------------------------subsubprocesos
------------------------------------------------y los niveles que sean necesarios

area N
-------procesos (actividades->tareas)
-----------------subprocesos (actividades->tareas)
-------------------------------subsubprocesos (actividades->tareas)
------------------------------------------------y los niveles que sean necesarios

Segunda duda, que deberia agregar a la tabla de tareas o la de actividades (las tareas corresponden a una actividad) para controlar por area si la actividad se aplicara a nivel subsubproceso, subproceso o proceso?

Por ejemplo:

actividades
-----------------
id_actividad
id_proceso
id_subproceso
id_subsubproceso
descripcion_actividad

Si hago algo como la tabla anterior si llego a tener mas niveles de proceso tendria que agregar campos de id por cada subproceso y eso no se me hace tan adecuado.

Ahora viene lo bueno, cada mes se van a evaluar las areas, entonces debo calificar a nivel tarea cada actividad, por ejemplo:

actividad 1 vale 100 - resultado = 71.66
--------- tarea 1 vale 100 - calificacion = 80
--------- tarea 2 vale 100 - calificacion = 60
--------- tarea 3 vale 100 - calificacion = 75

Tengo una tabla de calificaciones en la que replicare por mes el id de todas las actividades por area y procesos y guardare la calificacion por mes y año, esto creo que lo tengo mas o menos bajo control.

El rollo es que para llegar a la calificacion de las areas, tengo que pasar por cada proceso, pero algunos procesos las actividades son a nivel subproceso y subsubproceso y otros solo a nivel subproceso o hasta solo nivel del mismo proceso.

Como hacer igualdades para calificar desde el ultimo nivel a los que si les corresponden actividades y que no les afecten los que no les corresponden actividades, para al final de cada nivel de proceso obtener un 100 de calificacion y al sacar el promedio de cada nivel y que vaya cuadrando el resultado hasta llegar al nivel area.



Espero no haberlos hecho bolas, y disculpen tanto texto de verdad trate de explicarlo lo mas sencillo y resumido posible

les agradecere mucho su consejo.