Gestión de Datos Académicos con SQL: Operaciones Esenciales para Sistemas Educativos
Clasificado en Magisterio
Escrito el en
español con un tamaño de 6,13 KB
Operaciones SQL Esenciales para la Gestión Académica
Este documento recopila una serie de consultas SQL fundamentales para la administración de una base de datos en un entorno educativo. Abarca desde la actualización y búsqueda de información de alumnos y profesores, hasta la inserción y eliminación de datos, así como la obtención de estadísticas relevantes.
1. Actualización y Modificación de Datos
Actualizar/Modificar DNI de un Alumno
Permite actualizar el DNI y otros datos personales de un alumno específico.
UPDATE alumnos SET dni ='15', nombre='Perico', apellidos='Gordo', mes_nacimiento=2 WHERE id='8334';2. Consultas de Búsqueda y Visualización
Buscar Asignatura por ID
Consulta para encontrar una asignatura utilizando su identificador único (ID).
select * from asignaturas where id=5557;Buscar Alumnos (Múltiples Criterios)
Conjunto de consultas para buscar alumnos de diversas maneras: todos, por ID, DNI, nombre o apellidos.
select * from alumnos;
select * from alumnos where id=8338;
select * from alumnos where dni='02546729';
select * from alumnos where nombre='Hugo';
select * from alumnos where apellidos='walker';Buscar Direcciones de un Alumno (por ID de Alumno)
Obtiene las direcciones asociadas a un alumno específico, utilizando su ID.
select direcciones from alumnos inner join direcciones on alumnos.id = direcciones.alumno where alumnos.id='99';Buscar Información Completa de un Alumno (con Direcciones)
Muestra toda la información de un alumno, incluyendo sus datos de dirección, mediante una unión de tablas.
select * from alumnos inner join direcciones on alumnos.id = direcciones.alumno where alumnos.id='99';Buscar Asignaturas que Imparte un Profesor
Permite listar las asignaturas que tiene asignadas un profesor en particular.
select asignaturas from profesores inner join asignaturas on profesores.id = asignaturas.profesor where profesores.id=6980;Buscar Información de una Asignatura (con Datos del Profesor)
Consulta para obtener los detalles de una asignatura, incluyendo la información del profesor que la imparte.
select * from asignaturas inner join profesores on asignaturas.profesor = profesores.id where asignaturas.profesor=6980;3. Operaciones de Inserción de Datos
Insertar Nuevo Alumno
Permite añadir un nuevo registro de alumno a la base de datos.
INSERT INTO alumnos (dni, nombre, apellidos, mes_nacimiento) VALUES ('66666', 'Pedro', 'Hernández', '1');Insertar Asignatura a un Profesor
Registra una nueva asignatura y la asocia a un profesor.
INSERT INTO asignaturas (descripcion, profesor) VALUES ('Mates', 16);Insertar Dirección a un Alumno
Añade una nueva dirección y la vincula a un alumno existente.
INSERT INTO direcciones (calle, municipio, provincia, alumno) VALUES ('Oña', 'Alcalá', 'Madrid', '8351');Insertar Nota a un Alumno en una Asignatura
Registra una calificación para un alumno en una asignatura específica.
INSERT INTO notas (alumno, calificacion, descripcion, asignatura) VALUES (8350, -5, 'Examen febrero', 5565);Asignar Asignatura a un Alumno
Establece la relación entre un alumno y una asignatura, indicando que el alumno está matriculado en ella.
INSERT INTO alumnos_has_asignaturas (alumno, asignatura) VALUES (8347,5557);4. Operaciones de Eliminación de Datos
Eliminar Alumno por ID
Permite borrar un registro de alumno de la base de datos utilizando su ID.
delete from alumnos WHERE id='8334';Eliminar Asignatura Asignada a un Alumno
Remueve la asociación entre un alumno y una asignatura.
delete from alumnos_has_asignaturas WHERE alumno=8347 and asignatura= 5557;5. Consultas de Relación y Agregación
Mostrar Asignaturas de un Alumno
Lista todas las asignaturas en las que está matriculado un alumno.
select * from alumnos_has_asignaturas inner join alumnos on alumnos_has_asignaturas.alumno=alumnos.id inner join asignaturas on alumnos_has_asignaturas.asignatura=asignaturas.id where alumnos.id=99;Mostrar Alumnos por Asignatura
Muestra todos los alumnos que están matriculados en una asignatura específica.
select * from alumnos_has_asignaturas inner join asignaturas on alumnos_has_asignaturas.asignatura=asignaturas.id inner join alumnos on alumnos_has_asignaturas.alumno=alumnos.id where asignaturas.id=5565;Contar Asignaturas por Alumno
Calcula el número total de asignaturas que tiene cada alumno.
select count(*), alumno from alumnos_has_asignaturas group by alumno;Mostrar Notas de un Alumno
Presenta todas las calificaciones obtenidas por un alumno.
select * from notas inner join alumnos on notas.alumno = alumnos.id where alumnos.id=99;Mostrar Notas Específicas de un Alumno por Asignatura
Filtra y muestra todas las notas de un alumno en una asignatura concreta.
select * from notas inner join alumnos on notas.alumno = alumnos.id where alumnos.id=99 and notas.asignatura=5565;Calcular Nota Media de un Alumno por Asignatura
Calcula la nota media de un alumno en una asignatura específica.
select AVG(calificacion) from notas inner join alumnos on notas.alumno = alumnos.id where alumnos.id=99 and notas.asignatura=5565;