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;

Entradas relacionadas: