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

Busco estructura ideal para bd

Estas en el tema de Busco estructura ideal para bd en el foro de Mysql en Foros del Web. Hola amigos, Estoy armando una bd para un colegio e ingresar calificaciones. Tengo una duda con la estructura de la tabla para registrar notas. La ...
  #1 (permalink)  
Antiguo 15/02/2013, 11:35
Avatar de sebandrescc2  
Fecha de Ingreso: diciembre-2012
Mensajes: 45
Antigüedad: 11 años, 11 meses
Puntos: 0
Pregunta Busco estructura ideal para bd

Hola amigos,

Estoy armando una bd para un colegio e ingresar calificaciones.

Tengo una duda con la estructura de la tabla para registrar notas. La actual está en http://sqlfiddle.com/#!2/410c2/5/0

Mas o menos simplificado es algo así

t_notas
id_nota + id_alumno + nota
__1____+____1____+ 4.0
__2____+____2____ + 5.0
__3____+____3____ + 6.2
__4____+____1____ + 7.0

El problema es que, lo ideal, es queal realizar la consulta, las calificaciones de cada alumno se vean en forma horizontal y mostrarlas Nombre -nota1-nota2-nota3 etc. .... (usaré php).

Existe una consulta que pueda agrupar horizontalmente las calificaciones o la estructura actual de la tabla no ayuda?

Ojalá se haya entendido. Saludos a todos
__________________
Aquí voy a escribir mi firma

Última edición por sebandrescc2; 15/02/2013 a las 12:20
  #2 (permalink)  
Antiguo 15/02/2013, 14:37
 
Fecha de Ingreso: enero-2011
Mensajes: 10
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Hola

El problema que planteas es la salida de datos ( en php) que no la estructura de los datos en la BBDD.
Los datos los puedes sacar en horizontal sin problema.
Se trata de un repeat region pero en horizontal ( con el codig ono te puedo ayudar pues yo lo hago a traves de dreamweaver q es automatico)
No se si es esa la cuestion o te he podido orientar en tu consulta.
Soy maestro y he realizado algo parecido con mis alumnos
Un saludo
  #3 (permalink)  
Antiguo 15/02/2013, 20:55
Avatar de sebandrescc2  
Fecha de Ingreso: diciembre-2012
Mensajes: 45
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Hola Anibal, gracias por tu respuesta.

Efectivamente con php puedo manipular los datos. Básicamente intento no hacer tanto código y si una tabla y luego consulta lo mas efectiva posible.

¿Como guardas las calificaciones? Me refiero a la estructura de la tabla.

Saludos :)
__________________
Aquí voy a escribir mi firma
  #4 (permalink)  
Antiguo 16/02/2013, 03:21
 
Fecha de Ingreso: enero-2011
Mensajes: 10
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Hola
He visto tu tabla y ( aunque no sea un experto) es como la mayoria de las tablas de datos de colegios e instis que he trasteado, esta bien estructurada.
En mi caso uso la BBDD para registro de resultados de actividades interactivas hechas con edilim.
Tengo una tabla de alumnos y otra de notas donde la clave comun es su email ( el que usan para registrarse)
los datos los saco a mi antojo, por fecha, nota, actividad realizada ....
Es basicamente como la que tu tienes hecha ... pero la nota llega a la base de datos despues de haber realizado una actividad.
Lo más dificil ya lo tienes hecho ... la manera de sacar esos datos y exponerlos en la web es algo más sencillo.

Un saludo
  #5 (permalink)  
Antiguo 16/02/2013, 06:11
Avatar de jfhoyosm  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá, Colombia, Colombia
Mensajes: 27
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Busco estructura ideal para bd

Especifica que es lo que quieres excatamente alamcenar en la BD, como ice anibal300, si vas a registrar varios logros, o solo notas finales de periodo, tambien depende si quieres manejar automaticamente una nota final, manejo de porcentajes, manejo de cortes, etc.
  #6 (permalink)  
Antiguo 16/02/2013, 12:04
 
Fecha de Ingreso: febrero-2011
Mensajes: 108
Antigüedad: 13 años, 9 meses
Puntos: 4
Respuesta: Busco estructura ideal para bd

ufff mi primer sistema fue un sistema academico, la toma de requerimientos es muy importante en la etapa inicial (como todo creo). Antes de pensar como estructurar la base de datos debes pensar que datos quieren en el sistema las personas del colegio, que informacion quieren en sus informes, etc (como dicen mas arriba los colegas)

Vi tu base de datos y esta bien para empezar a almacenar notas (de hecho esta mucho mejor que el mio :( en su tiempo), solo recuerda de ponerle un campo año en algun lugar te ayudara. Ademas la columna de descripcion, esa donde le pones "Primera Nota" no me convence, talves puedes ordenarlas mas adelante por id de la nota o en vez de eso colocar un campo de fecha de insercion con un time_stamp y ahi determinas cual es la primera o la segunda.

Ahora con la base de datos, sin duda lo mas difícil sera el php... arreglos !! recuerdo que aprendi a la fuerza ese tema en ese momento. Es ahi donde veras el tema de horizontal o vertical, ademas talves te veas en la necesidad de editarlas y ahi se pone bueno. Suerte!!
  #7 (permalink)  
Antiguo 16/02/2013, 21:46
Avatar de sebandrescc2  
Fecha de Ingreso: diciembre-2012
Mensajes: 45
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Cita:
Iniciado por jfhoyosm Ver Mensaje
Especifica que es lo que quieres excatamente alamcenar en la BD, como ice anibal300, si vas a registrar varios logros, o solo notas finales de periodo, tambien depende si quieres manejar automaticamente una nota final, manejo de porcentajes, manejo de cortes, etc.
Bueno mi intención es registrar notas parciales y acompañarla de la fecha en que fue ingresada y a que examen pertenece.

Mi idea era recuperar esos registros en la orientación horizontal que requieren los informes. Veo que voy a tener que hechar mano a mas codigo php que a consultas mysql.... finalmente esa es mi duda existencial.

Hice un sistema hace unos años algo así

id_ Alumno | nota 1 | nota 2 | nota 3 | nota 4 ..... nota 30

y me parece demasiado inflexible, aunque mucho mas simple de consultar, pero con la desventaja de tener que crear una tabla para cada asignatura, haciendola mas inflexible aún.

Es por eso que busco algo más sustentable en el tiempo y adaptable a la realidad del colegio.

No se si voy en esa dirección. Saludos.
__________________
Aquí voy a escribir mi firma
  #8 (permalink)  
Antiguo 16/02/2013, 21:57
Avatar de sebandrescc2  
Fecha de Ingreso: diciembre-2012
Mensajes: 45
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Cita:
Iniciado por sefirotxx Ver Mensaje
ufff mi primer sistema fue un sistema academico, la toma de requerimientos es muy importante en la etapa inicial (como todo creo). Antes de pensar como estructurar la base de datos debes pensar que datos quieren en el sistema las personas del colegio, que informacion quieren en sus informes, etc (como dicen mas arriba los colegas)

Vi tu base de datos y esta bien para empezar a almacenar notas (de hecho esta mucho mejor que el mio :( en su tiempo), solo recuerda de ponerle un campo año en algun lugar te ayudara. Ademas la columna de descripcion, esa donde le pones "Primera Nota" no me convence, talves puedes ordenarlas mas adelante por id de la nota o en vez de eso colocar un campo de fecha de insercion con un time_stamp y ahi determinas cual es la primera o la segunda.

Ahora con la base de datos, sin duda lo mas difícil sera el php... arreglos !! recuerdo que aprendi a la fuerza ese tema en ese momento. Es ahi donde veras el tema de horizontal o vertical, ademas talves te veas en la necesidad de editarlas y ahi se pone bueno. Suerte!!
Gracias sefirotxx por tu respuesta

Lo del año me parece un tremendo apunte, pensando en la necesidad de comparar años académicos mas adelante, o mejor aún utilizar la misma bd.

Bueno con respecto a el campo donde aparece "Primera Nota", no es para saber el orden sino una descripción cualquiera, según el profesor, como puede ser "Examen de recuperación" o "Control sorpresa".... luego crear un hint sobre la nota para que el usuario sepa de que se trata esa calificación.

Me manejo bien en php, pero la horizontalidad de los registros me atemorizaba, por lo que decidí compartir inquietudes, sobre todo pensando en crear reportes por asignaturas, semestres o años y en un formato nada amigable como pdf para imprimir.

Saludos
__________________
Aquí voy a escribir mi firma
  #9 (permalink)  
Antiguo 17/02/2013, 02:18
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Busco estructura ideal para bd

Sobre las distintas formas de mostrar datos horizontales (pivot table) con MYSQL puedes leer
http://en.wikibooks.org/wiki/MySQL/Pivot_table
http://dev.mysql.com/tech-resources/...t_version.html
http://www.artfulsoftware.com/infotree/queries.php#78

En cuanto a la estructura de bases de datos para calificaciones, deberías tener claras las salidas (los datos) que te piden.
Naturalmente una nota es de un examen o ejercicio que a su vez es de una asignatura de un alumno, dentro de un curso académico, pero un examen o ejercicio puede estar dentro o pertenecer a una convocatoria específica (evaluaciones (1ª, 2ª, 3ª, final); convocatoria de febrero, junio, septiembre, etc.; convocatoria ordinaria, extraordinaria), y presentar una tipología muy variada: tratarse de un examen oral, escrito, teórico, práctico, etc.; puede ser voluntario o no; previsto o sorpresa; su nota puede ser acumulable de una manera o de otra (suma de parte, porcentaje, valores condicionados, valor absoluto, etc.) para el resultado de la nota parcial o la nota final; ser necesario aprobarla para poder obtener calificación en otra asignatura, es decir, que su asignatura sea llave para otra, etc. Tienes que tener en cuenta todas estas cuestiones antes de hacer la estructura de la base.

Última edición por jurena; 19/02/2013 a las 01:31
  #10 (permalink)  
Antiguo 17/02/2013, 14:25
Avatar de sebandrescc2  
Fecha de Ingreso: diciembre-2012
Mensajes: 45
Antigüedad: 11 años, 11 meses
Puntos: 0
Respuesta: Busco estructura ideal para bd

Cita:
Iniciado por jurena Ver Mensaje
Sobre las distintas formas de mostrar datos horizontales (pivot table) con MYSQL puedes leer
[url]http://en.wikibooks.org/wiki/MySQL/Pivot_table[/url]
[url]http://dev.mysql.com/tech-resources/articles/wizard/print_version.html[/url]
[url]http://www.artfulsoftware.com/infotree/queries.php#78[/url]

En cuanto a la estructura de bases de datos para calificaciones, deberías tener claras las salidas (los datos) que te piden.
Naturalmente una nota es de un examen o ejercicio que a su vez es de una asignatura de un alumno, dentro de un curso académico, pero un examen o ejercicio puede estar dentro o pertenecer a una convocatoria específica (evaluaciones (1ª, 2ª, 3ª, final); convocatoria de febrero, junio, septiembre, etc.), y presentar una tipología muy variada: tratarse de un examen oral, escrito, teórico, práctico, etc.; puede ser voluntario o no; previsto o sorpresa; su nota puede ser acumulable de una manera o de otra (suma de parte, porcentaje, valores condicionados, valor absoluto, etc.) para el resultado de la nota parcial o la nota final; ser necesario aprobarla para poder obtener calificación en otra asignatura, es decir, que su asignatura sea llave para otra, etc. Tienes que tener en cuenta todas estas cuestiones antes de hacer la estructura de la base.
Hola Jurena,

Gracias por todas las indicaciones. Bueno con la tabla pivote logré la horizontalidad de los datos que buscaba, y tuve que añadir una columna en la tabla de notas, que me indique a que examen pertenece (Si es el 1°, 2°, 3° ó 20°). Luego está en trabajar en las operaciones matemáticas que salgan en el camino, pero estoy contento con el resultado.

Crearé otro post para las consultas que tenga en el camino, con respecto a promedios.

Gracias a todos.
__________________
Aquí voy a escribir mi firma

Etiquetas: colegio
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 12:21.