CREATE TABLE profesores (
    id_profesor INT(11) PRIMARY KEY,
    nombre VARCHAR(100),
    especialidad VARCHAR(100),
    correo VARCHAR(100)
);
CREATE TABLE estudiantes (
    id_estudiante INT(11) PRIMARY KEY,
    nombre VARCHAR(100),
    correo VARCHAR(100),
    fecha_registro DATE
);
CREATE TABLE cursos (
    id_curso INT(11) PRIMARY KEY,
    nombre VARCHAR(100),
    descripcion VARCHAR(100),
    duracion INT(11),
    id_profesor INT(11),
    FOREIGN KEY (id_profesor) REFERENCES profesores(id_profesor)
);
CREATE TABLE actividades (
    id_actividad INT(11) PRIMARY KEY,
    id_curso INT(11),
    nombre VARCHAR(100),
    tipo VARCHAR(100),
    fecha_entrega DATE,
    FOREIGN KEY (id_curso) REFERENCES cursos(id_curso)
);
CREATE TABLE inscripciones (
    id_inscripcion INT(11) PRIMARY KEY,
    id_estudiante INT(11),
    id_curso INT(11),
    fecha DATE,
    FOREIGN KEY (id_estudiante) REFERENCES estudiantes(id_estudiante),
    FOREIGN KEY (id_curso) REFERENCES cursos(id_curso)
);
CREATE TABLE calificaciones (
    id_calificacion INT(11) PRIMARY KEY,
    id_estudiante INT(11),
    id_curso INT(11),
    nota INT(11),
    fecha DATE,
    FOREIGN KEY (id_estudiante) REFERENCES estudiantes(id_estudiante),
    FOREIGN KEY (id_curso) REFERENCES cursos(id_curso)
);
INSERT INTO profesores (id_profesor, nombre, especialidad, correo) VALUES
(1, 'luis alberto', 'Matemáticas', 'luis123@gmail.com'),
(2, 'maria elisa', 'Historia', 'maria234@gmail.com'),
(3, 'carlos galan', 'Ciencias', 'carlos345@gmail.com'),
(4, 'elena gomez', 'Literatura', 'elena456@gmail.com'),
(5, 'clara lucia', 'Tecnología', 'clara567@gmail.com');
INSERT INTO cursos (id_curso, nombre, descripcion, duracion, id_profesor) VALUES
(1, 'Álgebra Lineal', 'Curso básico de ecuaciones y matrices', 40, 1),
(2, 'Historia Universal', 'Desde la prehistoria hasta el siglo XX', 35, 2),
(3, 'Biología General', 'Estudio de los seres vivos y ecosistemas', 45, 3),
(4, 'Literatura Hispana', 'Análisis de obras literarias clave', 30, 4),
(5, 'Introducción a SQL', 'Fundamentos de bases de datos', 50, 5);
INSERT INTO estudiantes (id_estudiante, nombre, correo, fecha_registro) VALUES
(1, 'carlos andres', 'carlos123@gmail.com', '2026-05-01'),
(2, 'pablo camilo', 'pablo234@gmail.com', '2026-05-03'),
(3, 'nicolas david', 'nico345@gmail.com', '2026-05-05'),
(4, 'julian perez', 'juli456@gmail.com', '2026-05-08'),
(5, 'alex olmos', 'alex567@gmail.com', '2026-05-11');

INSERT INTO inscripciones (id_inscripcion, id_estudiante, id_curso, fecha) VALUES
(1, 1, 1, '2026-05-02'),
(2, 2, 2, '2026-05-05'),
(3, 3, 3, '2026-05-08'),
(4, 4, 4, '2026-05-11'),
(5, 5, 5, '2026-05-13');
INSERT INTO actividades (id_actividad, id_curso, nombre, tipo, fecha_entrega) VALUES
(1, 1, 'Taller de Matrices', 'Tarea', '2026-05-03'),
(2, 2, 'Ensayo Revolución Francesa', 'Ensayo', '2026-05-05'),
(3, 3, 'Reporte de Laboratorio', 'Práctica', '2026-05-07'),
(4, 4, 'Análisis del Quijote', 'Lectura', '2026-05-10'),
(5, 5, 'Diseño de Modelo ER', 'Proyecto', '2026-05-13');
INSERT INTO calificaciones (id_calificacion, id_estudiante, id_curso, nota, fecha) VALUES
(1, 1, 1, 1.0, '2026-05-10'),
(2, 2, 2, 2.0, '2026-05-12'),
(3, 3, 3, 3.0, '2026-05-15'),
(4, 4, 4, 4.0, '2026-05-17'),
(5, 5, 5, 5.0, '2026-05-19');

SELECT * FROM estudiantes;

SELECT * FROM cursos;

SELECT nombre, correo
FROM profesores;

SELECT *
FROM cursos
WHERE duracion > 11;
    
SELECT *
FROM estudiantes
WHERE fecha_registro > '2026-05-01';

SELECT *
FROM actividades
ORDER BY fecha_entrega ASC;

SELECT *
FROM calificaciones
WHERE nota > 1.0;

SELECT estudiantes.nombre, cursos.nombre
FROM inscripciones
INNER JOIN estudiantes
ON inscripciones.id_estudiante = estudiantes.id_estudiante
INNER JOIN cursos
ON inscripciones.id_curso = cursos.id_curso;

SELECT profesores.nombre, cursos.nombre
FROM profesores
INNER JOIN cursos
ON profesores.id_profesor = cursos.id_profesor;

SELECT cursos.nombre, actividades.nombre
FROM cursos
INNER JOIN actividades
ON cursos.id_curso = actividades.id_curso;

SELECT estudiantes.nombre, calificaciones.nota
FROM estudiantes
INNER JOIN calificaciones
ON estudiantes.id_estudiante = calificaciones.id_estudiante;

SELECT COUNT(*) AS total_estudiantes
FROM estudiantes;

SELECT AVG(nota) AS promedio_notas
FROM calificaciones;

SELECT *
FROM cursos
ORDER BY duracion DESC
LIMIT 1;

SELECT profesores.nombre, COUNT(cursos.id_curso) AS total_cursos
FROM profesores
INNER JOIN cursos
ON profesores.id_profesor = cursos.id_profesor
GROUP BY profesores.nombre;

SELECT estudiantes.nombre, COUNT(inscripciones.id_curso) AS cursos_inscritos
FROM estudiantes
INNER JOIN inscripciones
ON estudiantes.id_estudiante = inscripciones.id_estudiante
GROUP BY estudiantes.nombre;

SELECT cursos.nombre, AVG(calificaciones.nota) AS promedio
FROM cursos
INNER JOIN calificaciones
ON cursos.id_curso = calificaciones.id_curso
GROUP BY cursos.nombre;

SELECT estudiantes.nombre, calificaciones.nota
FROM estudiantes
INNER JOIN calificaciones
ON estudiantes.id_estudiante = calificaciones.id_estudiante
WHERE calificaciones.nota < 3.0;

SELECT cursos.nombre
FROM cursos
LEFT JOIN actividades
ON cursos.id_curso = actividades.id_curso
WHERE actividades.id_actividad IS NULL;

SELECT estudiantes.nombre, calificaciones.nota
FROM estudiantes
INNER JOIN calificaciones
ON estudiantes.id_estudiante = calificaciones.id_estudiante
ORDER BY calificaciones.nota DESC
LIMIT 1;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: