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
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:
Tabla de contenidos
Guía tutorial Sistema de exámenes en Php y Mysql
- Introducción
- Planificación
- Base de datos I
- Base de datos II (Próximamente)
- ….
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.
12 comentarios
Buenísimo , esperamos con ansias el próximo avance!
estar atentos :D. En unos días se publicará el siguiente.
Esperando, muy buen tutorial gracias
gracias @jose .. en breve el siguiente «Sistema de exámenes y Evaluación en Php y Mysql: Base de datos II»
a la espera de la continuación
Excelente, siempre tus tutos son muy buenos, espeandolo con ancias, lo desarrollaras en POO con php?.
saludos.
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.
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?
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».
Espero salga pronto la parte II me esta sirviendo mucho
excelente aporte!! gracias por ponerlo y estaremos super pendientes para la continuación!!
Saludos» =)
ola …espero q la continuacion …sea publicado pronto saludos!!!