0% encontró este documento útil (0 votos)
0 vistas7 páginas

Lab Code

El proyecto CodePuno se centra en un sistema de educación informática que ofrece tutorías personalizadas. Se detallan las estructuras de las tablas de la base de datos para usuarios, cursos y lecciones, así como consultas SQL operativas y estratégicas para gestionar la información. Se concluye con reflexiones sobre la importancia de ciertas consultas y propuestas de mejora para la base de datos.

Cargado por

anthonycon957
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas7 páginas

Lab Code

El proyecto CodePuno se centra en un sistema de educación informática que ofrece tutorías personalizadas. Se detallan las estructuras de las tablas de la base de datos para usuarios, cursos y lecciones, así como consultas SQL operativas y estratégicas para gestionar la información. Se concluye con reflexiones sobre la importancia de ciertas consultas y propuestas de mejora para la base de datos.

Cargado por

anthonycon957
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1.

Nombre del Proyecto


Proyecto: CodePuno: Sistema de educación informática con tutorías personalizadas

2. Estructura de las Tablas


usuarios:

DROP TABLE IF EXISTS `usuarios`;

CREATE TABLE IF NOT EXISTS `usuarios` (

`usua_ide` int NOT NULL AUTO_INCREMENT,

`usua_perf_ide` int DEFAULT NULL,

`usua_dni` varchar(8) DEFAULT NULL,

`usua_nombres` varchar(100) DEFAULT NULL,

`usua_paterno` varchar(100) DEFAULT NULL,

`usua_materno` varchar(100) DEFAULT NULL,

`usua_celular` varchar(20) DEFAULT NULL,

`usua_email` varchar(255) DEFAULT NULL,

`usua_user` varchar(100) DEFAULT NULL,

`usua_pass` varchar(255) DEFAULT NULL,

`usua_foto` varchar(255) DEFAULT NULL,

`usua_ultimo_acceso` datetime DEFAULT NULL,

`usua_esta_ide` int DEFAULT NULL,

`usua_create_at` datetime DEFAULT NULL,

`usua_update_at` datetime DEFAULT NULL,

`usua_deleted_at` datetime DEFAULT NULL,

PRIMARY KEY (`usua_ide`),

UNIQUE KEY `uk_usuarios_dni` (`usua_dni`),

UNIQUE KEY `uk_usuarios_email` (`usua_email`),

UNIQUE KEY `uk_usuarios_user` (`usua_user`),


KEY `fk_usuarios_perfiles1_idx` (`usua_perf_ide`),

KEY `fk_usuarios_estados1_idx` (`usua_esta_ide`)

) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb3;

cursos:

DROP TABLE IF EXISTS `cursos`;

CREATE TABLE IF NOT EXISTS `cursos` (

`curs_ide` int NOT NULL AUTO_INCREMENT,

`curs_cate_ide` int DEFAULT NULL,

`curs_prof_ide` int DEFAULT NULL,

`curs_nombre` varchar(255) NOT NULL,

`curs_descripcion` text,

`curs_imagen` varchar(255) DEFAULT NULL,

`curs_nivel` enum('BASICO','INTERMEDIO','AVANZADO') DEFAULT 'BASICO',

`curs_esta_ide` int DEFAULT '1',

`curs_create_at` datetime DEFAULT NULL,

`curs_update_at` datetime DEFAULT NULL,

`curs_eliminado_por` int DEFAULT NULL,

`curs_motivo_baja` varchar(255) DEFAULT NULL,

PRIMARY KEY (`curs_ide`),

KEY `fk_cursos_categorias_idx` (`curs_cate_ide`),

KEY `fk_cursos_profesores_idx` (`curs_prof_ide`),

KEY `fk_cursos_estados_idx` (`curs_esta_ide`)

) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb3;

lecciones:
DROP TABLE IF EXISTS `lecciones`;

CREATE TABLE IF NOT EXISTS `lecciones` (

`lecc_ide` int NOT NULL AUTO_INCREMENT,

`lecc_curs_ide` int NOT NULL,

`lecc_secc_ide` int DEFAULT NULL,

`lecc_titulo` varchar(255) NOT NULL,

`lecc_descripcion` text,

`lecc_tipo` enum('VIDEO','TEXTO','ARCHIVO','QUIZ') DEFAULT 'VIDEO',

`lecc_url` varchar(500) DEFAULT NULL,

`lecc_contenido` longtext,

`lecc_archivo_url` varchar(500) DEFAULT NULL,

`lecc_es_preview` tinyint DEFAULT '0',

`lecc_orden` int DEFAULT '0',

`lecc_duracion` int DEFAULT NULL,

`lecc_esta_ide` int DEFAULT '1',

`lecc_create_at` datetime DEFAULT NULL,

PRIMARY KEY (`lecc_ide`),

KEY `fk_lecciones_cursos_idx` (`lecc_curs_ide`),

KEY `fk_lecciones_secciones_idx` (`lecc_secc_ide`),

KEY `fk_lecciones_estados_idx` (`lecc_esta_ide`)

) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8mb3;

3. Capturas de Pantalla
4. Desarrollo de Consultas SQL e Interpretación
N.° Consulta SQL Tipo de Información Utilidad para el
Consulta Obtenida Sistema

1 SELECT * FROM Operativa Lista de cursos Identificar el


cursos WHERE clasificados como catálogo de inicio
curs_nivel = nivel básico. para nuevos
'BASICO'; usuarios.

2 SELECT * FROM Operativa Categorías que Filtrar solo las


categorias WHERE están actualmente categorías
cate_esta_ide = 1; activas. visibles en el sitio
web.

3 SELECT * FROM Táctica Lecciones Gestionar el


lecciones ORDER ordenadas de la tiempo total de
BY lecc_duracion más larga a la más consumo de
DESC; corta. contenido.
4 SELECT curs_nivel, Estratégica Cantidad de cursos Balancear la
COUNT(*) FROM por cada nivel de oferta académica
cursos GROUP BY dificultad. según la
curs_nivel; demanda.

5 SELECT Táctica Relación entre Mostrar el reporte


c.curs_nombre, nombre de curso y completo de
cat.cate_nombre su categoría. cursos
FROM cursos c categorizados.
JOIN categorias cat
ON c.curs_cate_ide
= cat.cate_ide;

6 SELECT Operativa Lista de lecciones y Validar la


l.lecc_titulo, su curso integridad del
c.curs_nombre pertenenciente. contenido
FROM lecciones l educativo.
JOIN cursos c ON
l.lecc_curs_ide =
c.curs_ide;

5. Reflexión Final
1. ¿Cuál de las consultas desarrolladas considera más importante para su Sistema de
Información?

La consulta 4, ya que permite obtener estadísticas clave sobre la composición del catálogo.

2. ¿Qué información obtenida podría apoyar la toma de decisiones dentro de la


organización?

La cantidad de cursos por nivel permite decidir si se debe invertir más presupuesto en crear
contenido avanzado o básico según la tendencia de los alumnos.

3. ¿Qué mejoras implementaría en la base de datos para obtener información más útil
en el futuro?

Añadiría una tabla de 'progreso_alumnos' para analizar cuánto tiempo real pasan los
estudiantes en cada lección.

También podría gustarte