Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Almacenar Asistencias a Clase, Bajas y Recurrencias

Estas en el tema de Almacenar Asistencias a Clase, Bajas y Recurrencias en el foro de Mysql en Foros del Web. Hola! He estado buscando información acerca de lo que os voy a contar y no sé qué es más eficiente. Tengo unas CLASES, unos ALUMNOS ...
  #1 (permalink)  
Antiguo 24/10/2016, 17:39
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Almacenar Asistencias a Clase, Bajas y Recurrencias

Hola!

He estado buscando información acerca de lo que os voy a contar y no sé qué es más eficiente.

Tengo unas CLASES, unos ALUMNOS y unos GRUPOS. Los GRUPOS tienen una periodicidad (por ejemplo todos los LUNES a las 18h) y una serie de alumnos asignados.

Tengo que almacenar cada clase con los alumnos que hayan asistido y mi duda es cómo almacenar los datos.

Tengo dos opciones para la tabla de CLASES.

OPCIÓN 1 - TABLA CLASES
ID_CLASE
ID_GRUPO
ID_ALUMNO

Con esa opción, crearía un registro por cada clase y alumno. Si la clase tiene 20 alumnos, crearía, todos los lunes, 20 registros y si tengo muchos grupos, muchas clases y muchos alumnos, la tabla crecería bastante al poco tiempo.

OPCIÓN 2 - TABLA CLASES
ID_CLASE
ID_GRUPO
ALUMNOS (Guardaría los datos con los IDs de Alumnos así en modo texto: 1,4,5,2,3,18...) Creando un único registro por clase.

Crearía menos registros y la tabla sería más pequeña pero, después, tendría que buscar por ALUMNO para ver a qué clases ha asistido en fechas concretas.

Voy a necesitar mostrar una CLASE con todos los ALUMNOS que han asistido así como seleccionar un ALUMNO y ver las CLASES a las que ha asistido.

¿Qué es más eficiente? ¿Hay otra forma más lógica?

Gracias!
Javi.
__________________
Tatuajes
  #2 (permalink)  
Antiguo 24/10/2016, 19:52
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Almacenar Asistencias a Clase, Bajas y Recurrencias

Es mas eficiente la primera opcion, la segunda conlleva programacion, que tengas 200 alumnos con 10 clases cada uno tendras 2000 registros que es una nada para un motor de bases de datos, cuando tengas millones de registros entonces si tienes demasiados datos, ademas para eso tienes los indices para mejorar el performance de tus queries.
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 25/10/2016, 16:11
 
Fecha de Ingreso: marzo-2007
Mensajes: 31
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Almacenar Asistencias a Clase, Bajas y Recurrencias

Gracias Libra!

Tengo algunos alumnos más, realmente serían:

250 clases al mes con 15 alumnos por clase
Es decir 3750 registros al mes...
O lo que es lo mismo: 3750 * 12= 45000 registros al año

De todas formas, tienes razón, si no puede con esto, apaga y vámonos, además, siempre puedo particionar más adelante o pasar a histórico datos de dos años o más...

Gracias de nuevo!
Javi.
__________________
Tatuajes

Etiquetas: alumnos, asistencia, clases, escuela
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:18.