FASE 4
ACTIVIDAD ACTIVIDA D INDIVIDUAL UNIDAD 3
PRESENTADO POR:
MILTON BENAVIDES
TUTOR FRANCISCO JAVIER HILARIÓN NOVOA
PROGRAMACIÓN DE SITIOS WEB CURSO 301127_40 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA BOGOTA D.C MAYO DE 2017
PROGRAMACIÓN DE SITIOS WEB Fase 4
INTRODUCCIÓN
La programación web se apoya en diferentes métodos para poder almacenar la información, ya sean bases de datos, memoria en caché o ficheros de texto plano. El presente trabajo pretende contextualizar al lector a través de diferentes capturas de pantalla acerca de la implementación de la base de datos para el proyecto de desarrollo web escogido en la FASE 1. Por otro lado, también se mostrarán las diferentes funciones básicas de base de datos CRUD aplicadas al proyecto. Para el manejo gráfico de la base de datos se usó el Sistema de Gestión de Base de Datos (SGBD) MySQL WorkBench y para el manejo de las diferentes consultas SQL se creó la usuarioDatos alojada en el archivo usuarioDatos.php. Para acceder al sistema las credenciales de acceso son las siguientes, aunque se pueden usar las de cualquier usuario registrado en la base de datos:
Usuario: 80833814 Contraseña: prueba2017
PROGRAMACIÓN DE SITIOS WEB Fase 4
BASE DE DATOS Y TABLAS
SCRIPT: CREATE DATABASE `mbenavides`; USE `mbenavides`; CREATE TABLE `actividad` ( `idactividad` int(11) NOT NULL, `nombre_actividad` varchar(45) DEFAULT NULL, `fecha_actividad` datetime DEFAULT NULL, `calificacion_actividad` float DEFAULT NULL, PRIMARY KEY (`idactividad`) ); CREATE TABLE `actividad_asignatura` ( `id_actividad` int(11) NOT NULL, `id_asignatura` int(11) DEFAULT NULL, PRIMARY KEY (`id_actividad`), KEY `FK_id_asignatura_as_idx` (`id_asignatura`), CONSTRAINT `FK_id_actividad_as` FOREIGN KEY (`id_actividad`) REFERENCES `actividad` (`idactividad`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `FK_id_asignatura_as` FOREIGN KEY (`id_asignatura`) REFERENCES `asignatura` (`id_asignatura`) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE `alumno` ( `id` decimal(15,0) NOT NULL, `nombres` varchar(45) NOT NULL, `apellidos` varchar(45) NOT NULL, `grupo` varchar(45) DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `telefono` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `alumnogrupo` ( `id_alumno` int(11) NOT NULL, `id_grupo` int(11) NOT NULL, KEY `id_alumno_idx` (`id_grupo`), CONSTRAINT `FK_id_grupo_alumnogrupo` FOREIGN KEY (`id_grupo`) REFERENCES `grupo` (`id_grupo`) ON DELETE NO ACTION ON UPDATE NO ACTION );
PROGRAMACIÓN DE SITIOS WEB Fase 4
CREATE TABLE `asignatura` ( `id_asignatura` int(11) NOT NULL AUTO_INCREMENT, `nombre_asignatura` varchar(30) NOT NULL, PRIMARY KEY (`id_asignatura`) ); CREATE TABLE `asignaturagrupo` ( `id_asignatura` int(11) NOT NULL, `id_grupo` int(11) NOT NULL, KEY `FK_id_asignatura_idx` (`id_asignatura`), KEY `FK_id_grupo_idx` (`id_grupo`), CONSTRAINT `FK_id_asignatura_asignaturagrupo` FOREIGN KEY (`id_asignatura`) REFERENCES `asignatura` (`id_asignatura`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `FK_id_grupo_asignaturagrupo` FOREIGN KEY (`id_grupo`) REFERENCES `grupo` (`id_grupo`) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE `grupo` ( `id_grupo` int(11) NOT NULL AUTO_INCREMENT, `nombre_grupo` varchar(20) NOT NULL, PRIMARY KEY (`id_grupo`) ); CREATE TABLE `login` ( `usuario` decimal(15,0) NOT NULL, `contrasena` varchar(30) DEFAULT NULL, `tipo_usuario` varchar(20) DEFAULT NULL, PRIMARY KEY (`usuario`) ); CREATE TABLE `profesor` ( `id` decimal(15,0) NOT NULL, `nombres` varchar(45) NOT NULL, `apellidos` varchar(45) NOT NULL, `grupo` varchar(45) DEFAULT NULL, `email` varchar(45) DEFAULT NULL, `telefono` varchar(45) DEFAULT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `profesorasignatura` ( `id_profesor` int(11) NOT NULL, `id_Asignatura` int(11) NOT NULL, KEY `FK_id_asignatura_idx` (`id_Asignatura`), CONSTRAINT `FK_id_asignatura_pa` FOREIGN KEY (`id_Asignatura`) REFERENCES `asignatura` (`id_asignatura`) ON DELETE NO ACTION ON UPDATE NO ACTION );
PROGRAMACIÓN DE SITIOS WEB Fase 4
CREATE TABLE `profesorgrupo` ( `id_profesor` int(11) NOT NULL, `id_grupo` int(11) NOT NULL, KEY `FK_id_grupo_idx` (`id_grupo`), CONSTRAINT `FK_id_grupo_pg` FOREIGN KEY (`id_grupo`) REFERENCES `grupo` (`id_grupo`) ON DELETE NO ACTION ON UPDATE NO ACTION );
CAPTURA DESDE SGBD:
PROGRAMACIÓN DE SITIOS WEB Fase 4
CAPTURAS DE PANTALL A CRUD
Inicio de sesión: Consulta la tabla login para permitir el inicio de sesión si es un usuario registrado. “
PROGRAMACIÓN DE SITIOS WEB Fase 4
”
Ver perfil: Consulta las tablas de login y alumno o profesor de acuerdo al tipo de perfil registrado. Este módulo muestra “
”
toda la información personal del usuario.
PROGRAMACIÓN DE SITIOS WEB Fase 4
“
”
“
”
Editar perfil: Permite actualizar los campos de usuario email, teléfono y contraseña. Dependiendo el tipo de usuario hace la actualización en la tabla de alumno o profesor . “
PROGRAMACIÓN DE SITIOS WEB Fase 4
”
“
”
Mensaje: Una vez finalizada la edición de los datos y al enviar el formulario, si hay algún campo vacío presentará el siguiente mensaje, además permitirá regresar al formulario sin perder la información previamente modificada:
Mensaje: Si todos los datos están completos permitirá actualizar el registro guardando los datos nuevos.
PROGRAMACIÓN DE SITIOS WEB Fase 4
Crear Perfil: Crea dos registros, uno en la tabla login para el inicio de sesión y otro en la tabla alumno o profesor de “
acuerdo al tipo de usuario ingresado.
PROGRAMACIÓN DE SITIOS WEB Fase 4
”
“
”
“
”
Mensaje: Una vez finalizada la edición de los datos y al enviar el formulario, si el ID ya está registrado en la base de datos presentará el siguiente mensaje, además permitirá regresar al formulario sin perder la información previamente ingresada:
Mensaje: Una vez finalizada la edición de los datos y al enviar el formulario, si hay algún campo vacío presentará el siguiente mensaje, además permitirá regresar al formulario sin perder la información previamente ingresada:
PROGRAMACIÓN DE SITIOS WEB Fase 4
Mensaje: Si todos los datos están completos permitirá actualizar el registro guardando los datos nuevos.
PROGRAMACIÓN DE SITIOS WEB Fase 4
Eliminar perfil: Permite eliminar un usuario del sistema. Elimina el registro de la tabla login y de la tabla alumno o “
”
“
”
profesor de acuerdo al tipo de usuario. El sistema permite hacer una validación previa del usuario para posteriormente poder eliminarlo sabiendo que corresponde al usuario que realmente se quiere eliminar. “
”
PROGRAMACIÓN DE SITIOS WEB Fase 4
Mensaje: Si el usuario a consultar no existe muestra una alerta en la misma pantalla indicando esta información.
Mensaje: Si el usuario a eliminar no existe muestra una alerta en la misma pantalla indicando esta información.
PROGRAMACIÓN DE SITIOS WEB Fase 4
Mensaje: Si el usuario es eliminado correctamente mostrará en pantalla que así lo fue.
PROGRAMACIÓN DE SITIOS WEB Fase 4
CONCLUSIONES
•
•
•
•
Cualquier desarrollo web requiere un medio para guardar información capturada de formularios. PHP ofrece grandes funcionalidades para poder capturar diferentes variables de un documento por el método POST y el método GET. La lectura y escritura de bases de datos a partir de una página web en php requiere conocer e identificar correctamente el código para poder implementarlo. Cualquier diseño de bases de datos en aplicaciones web requiere un análisis previo de la información para de acuerdo a ello crear las tablas y campos adecuados.
PROGRAMACIÓN DE SITIOS WEB Fase 4
BIBLIOGRAFIA
•
Empezando. (2017). Core team (@mdo, @fat). Recuperado el 29 de mayo de 2017, de http://getbootstrap.com/getting-started
•
How to Automatically Close Alerts using Twitter Bootstrap. (2017). Stackoverflow.com. Recuperado el 1 de abril de 2017 de http://stackoverflow.com/questions/7643308/how-to-automatically-closealerts-using-twitter-bootstrap
•
Subida con el método POST. (2017). PHP. Recuperado el 12 de abril de 2017 de http://php.net/manual/es/features.file-upload.post-method.php
PROGRAMACIÓN DE SITIOS WEB Fase 4