Pedir presupuesto

Sistema de exámenes y Evaluación en Php y MySql – Base de datos I

Una vez hemos planificado nuestra aplicación de Sistema de Eumenes en Php y MySQL y hemos visto las diferentes funcionalidades de cada uno de los perfiles que van a actuar, que si bien recordáis del anterior post son “alumnos” y “profesores”.

CLIC EN LA IMAGEN PARA PANTALLA COMPLETA

Diagrama entidad-relación sistema de exámenes

Es hora de plasmarlo en la base de datos que será donde tendremos guardados todos los datos.

Pero antes vamos a recordar lo que hemos visto hasta ahora:

Guía tutorial Sistema de exámenes en Php y Mysql

Llegados a este punto, vamos a empezar con el código, eso que a la mayoría nos gusta aunque desde aquí aprovecho para volver a recordaros que lo mejor antes de empezar a codificar es analizar bien las cosas y usar lápiz y papel.

Como bien he comentado antes, disponemos de 2 partes bien diferenciadas, que son precisamente los dos perfiles “Profesor” y “Alumnos”, que ya subrayamos en la planificación, así que vamos a crear estas 2 tablas que son muy similares (algunos prefieren tener sólo 1 tabla Usuarios, pero creo que es más viable de esta forma).

NOTA!: Crear la base de datos EXAMENES tipo INNODB.

Tabla Alumnos en MySql

La tabla Alumnos nos servirá para tener información tanto del acceso al sistema como de la información básica de cada alumno.

Vamos a ver con detalle algunos datos importantes de la tabla:

  • E-mail: El campo e-mail nos servirá tanto para guardar los datos de acceso como para el envío de correo con información de los exámenes, evaluaciones, etc .. Este campo será un texto con un máximo de 45 posiciones.
  • Password: Tendrá un mínimo de 6 posiciones y nos servirá igual que el e-mail, para guardar los datos de acceso al sistema.
  • Fec_Alta: Fecha en la que el Alumno se inscribe al curso. Será un campo tipo fecha. (AAAA-MM-DD).
  • Fec_Baja: Fecha en la que el Alumno se da de baja del curso. Será un campo tipo fecha. (AAAA-MM-DD).
  • Estado: Campo que nos servirá para saber si un Alumno ha activado su cuenta a través del e-mail enviado al darse de alta o no.

Sobre los demás campos se pueden entender perfectamente qué función tienen, tan sólo con el nombre del campo sabremos de que se trata (apellido1, apellido2, telefono, etc ..).

Código MySql para crear la tabla Alumnos

Código:

[mysql]
CREATE TABLE `alumnos` (
`id_alumnos` int(10) unsigned NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`nombre` varchar(45) NOT NULL,
`apellido1` varchar(45) NOT NULL,
`apellido2` varchar(45) NOT NULL,
`fec_nacim` date default NULL,
`telefono` int(10) unsigned default NULL,
`movil` int(10) unsigned default NULL,
`fec_alta` date NOT NULL,
`fec_baja` date NOT NULL default ‘9999-12-31’,
`estado` enum(‘1′,’0’) NOT NULL COMMENT ‘(»1») Si el alumno está dado de alta. (»0») Si el alumno está dado de baja’,
PRIMARY KEY (`id_alumnos`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’Alumnos de la escuela’;

[/mysql]

Tabla Profesores en MySql

Si echáis un vistazo en el diagrama Entidad-Relación a la tabla “Profesores” podéis apreciar que son los mismos campos salvo el identificador “id_profesor”, por eso no vamos a pararnos de nuevo a explicar los campos y vayamos directo al código.

Código MySql para crear la tabla Profesores

Código:

[mysql]
CREATE TABLE `profesores` (
`id_profesores` int(10) unsigned NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`nombre` varchar(45) NOT NULL,
`apellido1` varchar(45) NOT NULL,
`apellido2` varchar(45) NOT NULL,
`fec_nacim` date default NULL,
`telefono` int(10) unsigned default NULL,
`movil` int(10) unsigned default NULL,
`fec_alta` date NOT NULL,
`fec_baja` date NOT NULL default ‘9999-12-31’,
`estado` enum(‘1′,’0’) NOT NULL COMMENT ‘(»1») Si el profesor está dado de alta. (»0») Si el profesor está dado de baja’,
PRIMARY KEY (`id_profesores`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=’Profesores de la escuela’;
[/mysql]

En el próximo tutorial veremos las demás tablas como: «Cursos, Exámenes, Asignaturas, Preguntas, Respuesta» y sus relaciones.

Espero vuestras opiniones, críticas o sugerencias que seguro algo tendréis que preguntar o aportar.

¿Te ha gustado?, Comparte!!

12 comentarios

    1. muchas gracias rod .. en unos dias tendrás el siguiente. Los tutos con programación orientada a objetos los dejaré para más adelante, ahora quiero hacerlo un poco mas sencillo para que la gente lo entienda mejor.

  1. mi amigo y si por algun motivo yo como alumno deseo saber cuantos cursos tiene el profesor matias podria, de acuerdo a tu esquema de base de datos? y siq yo como alumno deseo saber cuales son mis cursos de este semestre podria?

    1. tal y como está implementado el diagrama no podríamos saber cuantos cursos tiene el profesor ni cuales son tus cursos como alumno. Pero sería cuestión crear una tabla intermedia en cada una de las casuisticas que te enlazara Alumnos con Cursos y Profesores con Cursos ya que la relaicón es «de muchos a muchos».

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

¡Pide tu presupuesto!

Completa los campos para poder enviarte un presupuesto

Todos y tu presupuesto son a medida y totalmente personalizados, entendemos que dos proyectos online no pueden ser iguales y que cada cliente tiene unos objetivos y necesidades muy diferentes, es por eso que para elaborar un presupuesto, necesitamos saber de ti, tu proyecto y objetivos.

Los campos marcados con (*) son obligatorios.

La comunicación enviada quedará incorporada a un fichero del que es responsable COLORDEU. Esta comunicación se utilizará exclusivamente para tratar sus datos para atender su solicitud, siempre de acuerdo al Reglamento (UE) 2016/679 (RGPD), la Ley Orgánica 15/1999 (LOPD) y el Real Decreto 1720/2007 de desarrollo de la LOPD), sobre protección de datos. Sus datos no se comunicarán a terceros, excepto por obligación legal, y se mantendrán mientras no solicite su cancelación. En cualquier momento usted puede ejercer los derechos de acceso, rectificación, portabilidad y oposición, o si procede, a la limitación y/o cancelación del tratamiento, comunicándolo por escrito, indicando sus datos personales mediante un email a hola@colordeu.es