Es necesario la creación de un sistema que administre y emplee un “banco de reactivos”. Dicho proyecto permitirá a los docentes, de cualquier Academia (Dígase, DES de Informática, Matemática, Economía, Enfermería, etc), poder subir sus preguntas para que los alumnos de toda la Universidad puedan visualizarlas y responderlas.
Banco de Reactivos: Serie de preguntas con sus respectivas respuestas, es un tipo examen de acuerdo a la materia que estas impartiendo.
Partiendo de dicha primicia, comencé a pensar en una serie de tablas mal logradas, de acuerdo a las funciones que necesitaría mi sistema. Primero los usuarios que entraran en mi programa:
Los usuarios, son los siguientes:
-Alumnos [Son los únicos que responderán las preguntas realizadas por los profesores, además de ver un registro de avances]
-Maestros/Docentes [Crea las preguntas que se almacenarán en la base de datos, puede editarlos y eliminarlos, SIN EMBARGO no puede realizar dichas acciones con las preguntas de los demás profesores, sólo puede verlos {lectura}]
-Administrador General/Líder de la Academia [Mismo rango de los Maestros, con el agregado que puede Editar o Eliminar las preguntas de sus 'subordinados' PERO sólo los de su propia Academia {No puede eliminar/editar preguntas de Informática si pertenece a Socio Económicas}]
Los datos a pedir para el registro, son en todos los casos, los mismos:
-Matricula (Id_usuario) {tanto la matricula como el Numero de Docente son numéricos}
-Nombre (Nombre_usuario)
-Apellidos (Apellidos_usuario)
-Academia (Academia)
-Correo regular (Correo_base)
-Segundo correo (Correo_alter)
-Rol (Rol_moderador) {Aun no planteo muy bien como darle permiso al usuario, por el momento, darle a entender tres opciones a escoger [combo box]}
-Contraseña (Contraseña)
Código MySQL:
Ver original
Las preguntas están catalogadas de tal modo:
-Matricula<- (Id_usario)
-Identificador de pregunta (Id_pregunta)
-Curso/Materia (Curso)
-Temática/Tema (Temática)
-Pregunta (Pregunta_escrita)
-Imagen (Pregunta_img) {Se sigue valorando si esta opción puede ser válida/funcional, por el hecho que no se como subir imagen a la base de datos}
-Respuesta correcta (Respuesta_ok)
-Respuesta incorrecta 3 (Respuesta_in1)
-Respuesta incorrecta 2 (Respuesta_in2)
-Respuesta incorrecta 3 (Respuesta_in3)
-Número de veces que se ha aplicado (Aplicado_numero)
-Número de veces que se ha respondido correctamente (Respondido_numero)
Código MySQL:
Ver original
Y para rematar, se es necesaria (creo yo) otra tabla para los registros de avance de un Alumno usuario.
Código MySQL:
Ver original
Explicación de Funcionalidad: Cada Profesor registra una pregunta, por Curso y Temática. Un curso es propiamente una materia en concreto {Programación 1, Bases de Datos Relacionales, Matemáticas 2, etc.}. Una Temática, son los temas que se desglosan en un Curso {Matemáticas 1: Suma, Resta, Multiplicación División, etc}. Se almacena una Respuesta correcta y tres incorrectas. La pregunta puede ser Imagen {Pregunta_img VARBINARY 100} o textual {Pregunta_escrita VARCHAR 100, es por ello que Pregunta_img y Pregunta_escritas son NULL y no "NOT NULL" como correspondería}. Un Alumno puede escoger un Curso, siguiendo a una temática y automáticamente el sistema escoge 25 pregunta al azar sin importar que Docentes las escribió. Al finalizar, se guarda un registro, dicho archivo contiene la fecha y hora de cuando presentó el "examen", el Curso y tema, además de su Calificación {Preguntas bien contestadas/preguntas totales}.
A grandes rasgos he descrito todo el proyecto, discúlpenme si me he salteado demasiados detalles o no me doy a entender muy bien, llevo tres semanas sólo por crear estas tres tablas, y la desesperación/desvelo me está pasando factura. Estoy utilizando MySQL Workbench para la elaboración. . . de todo. Se me hizo tan intuitivo que casi ni tutoriales necesité.
Mi Problema: Siendo mi primera vez, ¿me hace falta otras tablas? ¿Como "normalizo" estas tablas? ¿Que tipo de dato es necesario para subir una imagen a una BD o que me recomiendan para dicha acción? ¿Como las "conecto"/relaciono? ¿Como sería el diagrama de entidad-relación? Aun no sé como hacer eso de "Llave foránea" en Workbench, ¿como se hace? Así como la imagen a la base de datos (hay una opción que dice Open value in editor pero siempre me manda error)
Sinceramente, espero que me puedan orientar en este proyecto, creí que me llevaría una semana, maximo dos pero ya llevo casi un mes, y sólo he estado leyendo y leyendo pero sigo sin comprender mucho de este enorme mundo de las Bases de datos {si me hubieran permitido con Ficheros, en tres días les habría entregado un proyecto ¬¬}. De antemano, agradezco toda ayuda. Saludos~