Proyecto Final

La institución educativa Benilda Valencia, ubicada en la vereda Miraflores en el municipio de Donmatías, ha adoptado el Método Doman durante los últimos 4 años, experimentando mejoras notables en el aprendizaje de sus estudiantes. Sin embargo, el método requiere un considerable esfuerzo por parte de los docentes para presentar la gran cantidad de palabras, letras y frases necesarias, lo que limita su implementación en otras instituciones.

Para abordar esta limitación y aprovechar los beneficios del Método Doman en un contexto más amplio, se propone desarrollar un software educativo que sistematice la presentación de palabras, letras y frases de manera sistemática y repetitiva. El objetivo principal es enseñar a los niños a reconocer y comprender el lenguaje escrito desde edades tempranas, siguiendo los principios del Método Doman.

Base de datos "Doman"

  • Perfil (idPerfil, Nombre).
  • Usuario(idUsuario, usuario, contraseña).
  • Prueba(componente, estudiante, respuestaEstudiante).
  • Componente(idComponente, Tema, Imagen, Palabra, Sonido, Respuesta).
  • Estudiante(idEstudiante, Nombre1, Nombre2, Apellido1, Apellido2, Teléfono).
  • Docente( idDocente, Nombre1, Nombre2, Apellido1, Apellido2, Teléfono).
  • Acudiente(id, Nombre1, Nombre2, Apellido1, Apellido2, Teléfono).
  • Tema(idtema, tipo, descripcion),
  • Calificación(Reacción, Fecha, idPrueba).
  • Aula(IdAula, idDocente, FechaInicio, FechaFinal).

Modelo entidad relación y Diagrama relacional:

Listado de tablas que llevará la BD. (Cuales son referenciales y cuales son de movimiento):

Referenciales:

  • Prueba
  • Componente
  • Estudiante
  • Docente
  • Acudiente
  • Usuario

De movimiento:

  • estudianteDocente
  • EstudianteAcudiente
  • Calificación
  • Tema
  • Aula

Diccionario de datos

Base de datos

https://drive.google.com/file/d/1uEItwh0A-y-euhPqSyiOUHXc3fzlxeOk/view?usp=drive_link

Ejercicios

Obtener la duración de la relación entre estudiantes y docentes 

Consulta SQL para calcular la duración (en días) de la relación entre cada estudiante y su docente: 

SELECT E.idEstudiante, D.idDocente, DATEDIFF(ED.FechaFinal, ED.FechaInicio) AS DuracionDias FROM Estudiante E JOIN EstudianteDocente ED ON E.idEstudiante = ED.idEstudiante JOIN Docente D ON ED.idDocente = D.idDocente;


Obtener las aulas activas en un período específico

Consulta SQL para listar las aulas que estuvieron activas en el periodo  2023-01-01 hasta el 2023-12-31:

SELECT A.idAula, A.idDocente, A.FechaInicio,A.FechaFinal

FROM Aula A WHERE (A.FechaInicio <= '2023-12-31' AND A.FechaFinal >= '2023-01-01');



Trigger para actualizar la fecha final en EstudianteDocente al borrar un estudiante

DELIMITER //

CREATE TRIGGER before_delete_estudiante

BEFORE DELETE ON Estudiante

FOR EACH ROW

BEGIN

UPDATE EstudianteDocente

SET FechaFinal = CURDATE()

WHERE idEstudiante = OLD.idEstudiante AND FechaFinal IS NULL;

END;

//

DELIMITER ;

Trigger para calcular la calificación promedio de un estudiante después de insertar una nueva calificación

DELIMITER //

CREATE TRIGGER after_insert_calificacion

AFTER INSERT ON Calificacion

FOR EACH ROW

BEGIN

DECLARE promedio DECIMAL(5,2);

SELECT AVG(Calificacion)

INTO promedio

FROM Calificacion

WHERE idEstudiante = NEW.idEstudiante;

UPDATE Estudiante

SET promedio = promedio

WHERE idEstudiante = NEW.idEstudiante;

END;

//

DELIMITER ;

Utilizar ENUM para definir el tipo de usuario 

ALTER TABLE Usuario

ADD COLUMN tipo_usuario ENUM('admin', 'docente', 'estudiante', 'acudiente') NOT NULL DEFAULT 'estudiante';

Consulta para contar el número de usuarios por tipo 

SELECT tipo_usuario, COUNT(*) AS cantidad FROM Usuario

GROUP BY tipo_usuario;


Utilizar SET para definir los intereses de un estudiante

Primero, añadir una columna intereses en la tabla Estudiante que use el tipo de dato SET

ALTER TABLE Estudiante

ADD COLUMN intereses SET('Deportes', 'Música', 'Arte', 'Ciencia', 'Tecnología');

Consulta para buscar estudiantes con intereses específicos 

SELECT

idEstudiante, nombre1, nombre2, apellido1, apellido2, intereses FROM Estudiante WHERE

intereses LIKE '%Deportes%' ORintereses LIKE '%Ciencia%';


 Utilizar BLOB para almacenar imágenes en la tabla Componente 

Primero, añadiremos una columna imagen_blob en la tabla Componente que use el tipo de dato BLOB 

ALTER TABLE Componente

ADD COLUMN imagen_blob BLOB;

Insertar una imagen en la tabla 

UPDATE Componente

SET imagen_blob = LOAD_FILE('C:prueba.jpg.jpg')

WHERE id = 1;


Crear la nueva tabla EstudianteCalificacion apartir de las tablas docente y calificacion

CREATE TABLE EstudianteCalificacion AS

SELECT

E.idEstudiante,

E.nombre1,

E.nombre2,

E.apellido1,

E.apellido2,

C.id_prueba,

C.Calificacion,

C.Fecha FROM Estudiante E

JOIN

Calificacion C ON E.idEstudiante = C.idEstudiante;


© 2022 CREATIVA ILUSTRADA. P° de la Castellana 79, Madrid, 28046
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar