Ver Mensaje Individual
  #8 (permalink)  
Antiguo 13/05/2008, 13:58
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Promedios de registros en mysql, php?

¿Pero quién te dijo que tener más tablas es complicar más las cosas?
Siempre que esté bien justificado, tener más tablas puede incluso facilitarte el trabajo.

Te explico lo de la redundancia que te decía:
- Primero, la redundancia (bien justificada) hace que el proceso de consulta sea mucho más sencillo y rápido. Esto es porque se ahorra algunos cálculos y consultas complejas y lee directamente de un campo.
- Segundo, toda redundancia hace más trabajoso y lento el proceso de escritura. O sea cuando alguien llene el cuestionario va a tener que hacer doble trabajo porque hay que escribir aquí y allá.

Ahí es cuando tienes que ver si vale la pena redundar. En tu caso, creo que la escritura (las veces que se llena el cuestionario) es pequeñísima comparada con las veces que se van a consultar los resultados. Entonces te conviene redundar.

¿Y qué es redundar, en este caso?
Es realizar el cálculo en el momento de escribir y no al leer. Es tener ese cálculo almacenado en algún lugar de tu BD. ¿Dónde vas a guardar este cálculo? Depende de la estructura. En el ejemplo que te puse yo, podrías agregar un campo a la tabla de respuestas. Pero, si quieres haz una nueva tabla con los resultados.

Cuando alguien quiere leer los resultados, simplemente los muestras sin que la BD tenga que hacer ningún cálculo complicado.

Cuando alguien escriba (llene el cuestionario) se van a actualizar dos campos por cada pregunta. El campo que tenías antes y el nuevo campo (que tomará el valor anterior +1)

No sé si se entendió.