Parcial #2

24.04.2023

TALLER CONSULTAS RELACIONALES

Con la información de la base de datos de la Institución realizar las siguientes consultas:

1. Visualizar los estudiantes con sus acudientes

2. Que estudiantes no tienen acudiente asignado

3. Que acudientes no matricularon sus hijos en la institución

4.Visualizar las materias que matriculó el estudiante 0001

5. Visualizar los estudiantes con las materias que matricularon

6. Visualizar un listado de los estudiantes que no se han matriculado

7. Visualizar un listado de las materias a las que ningún estudiante se matriculó.

8. Visualizar los docentes con las materias que dictan

9. Visualizar las materias que no tienen docente asignado.

10. Visualizar que docentes no tienen materias asignadas.

11. Visualizar el estudiante con las materias que tiene matriculadas y que docentes las dicta.


Nota: realizar el análisis de cada punto y su respectiva sintaxis.

Base de Datos y Tablas

Las tablas con todos sus registros y campos se pueden revisar en Actividad 2 - Pt2 sección de Actividades para corroborar las consultas, así mismo dejo un enlace para descargar la base de datos completa.


https://remingtonedu-my.sharepoint.com/:u:/g/personal/luis_rendon_6273_miremington_edu_co/EU2j0rY8ZQ9Ktp1PQ3nMgDcBHQ08aHRWpGMDZgVZDsDRKA?email=javier.ospina%40uniremington.edu.co&e=ShAaGy

1. Visualizar los estudiantes con sus acudientes 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.codigo

estudiante.nombre

acudiente.codigo

acudiente.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

estudiante

acudiente

estudi_acu

  • Condición(es)

Ninguna

  • ¿Cómo se relacionan las tablas?

estudiante.codigo = estudi_acu.cod_estudiante

acudiente.codigo = estudi_acu.cod_acudiente

  • Sintaxis:

select distinct estudiante.codigo, estudiante.nombre, acudiente.codigo, acudiente.nombr from estudiante, acudiente, estudi_acu where estudiante.codigo=estudi_acu.cod_estudiante and estudi_acu.cod_acudiente=acudiente.codigo; 

Comando Inner Join

2. Que estudiantes no tienen acudiente asignado 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.codigo

estudiante.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

estudiante

estudi_acu

  • Condición(es)

estudi_acu.cod_acudiente is null

  • ¿Cómo se relacionan las tablas?

estudiante.codigo = estudi_acu.cod_estudiante

estudi_acu.cod_acudiente is null 

  • Sintaxis:

select distinct estudiante.codigo, estudiante.nombre from estudiante, estudi_acu where estudiante.codigo=estudi_acu.cod_estudiante and estudi_acu.cod_acudiente is null;

En este caso el resultado de la consulta es vacío debido a que cada estudiante cuenta con su correspondiente acudiente.

Comando Left Join

3. Que acudientes no matricularon sus hijos en la institución 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

acudiente.codigo

acudiente.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

acudiente

estudi_acu

  • Condición(es)

estudi_acu.cod_estudiante is null

  • ¿Cómo se relacionan las tablas?

acudiente.codigo = estudi_acu.cod_acudiente

estudi_acu.cod_estudiante is null

  • Sintaxis:

select distinct acudiente.codigo, acudiente.nombre from acudiente, estudi_acu where acudiente.codigo=estudi_acu.cod_acudiente and estudi_acu.cod_estudiante is null; 

En este caso el resultado de la consulta es vacío debido a que cada acudiente registrado tiene matriculado por lo menos un hijo en la institución.

Comando Left Join

4.Visualizar las materias que matriculó el estudiante 0001 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.nombre

materia.codigo

materia.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

materia

estudiante

estudi_mat

  • Condición(es)

estudi_mat.cod_estudiante = 0001

  • ¿Cómo se relacionan las tablas?

estudiante.codigo = estudi_mat.cod_estudiante

materia.codigo = estudi_mat.cod_materia 

estudi_mat.cod_estudiante = 0001

  • Sintaxis:

select distinct estudiante.nombre, materia.codigo, materia.nombre from materia, estudiante, estudi_mat where estudiante.codigo=estudi_mat.cod_estudiante and materia.codigo=estudi_mat.cod_materia and estudi_mat.cod_estudiante=0001;

Comando Inner Join

5. Visualizar los estudiantes con las materias que matricularon 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.codigo

estudiante.nombre

materia.codigo

materia.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

materia

estudiante

estudi_mat

  • Condición(es)

Ninguna

  • ¿Cómo se relacionan las tablas?

estudiante.codigo = estudi_mat.cod_estudiante

materia.codigo = estudi_mat.cod_materia

  • Sintaxis:

select distinct estudiante.codigo, estudiante.nombre, materia.codigo, materia.nombre from estudiante, materia, estudi_mat where estudiante.codigo = estudi_mat.cod_estudiante and materia.codigo = estudi_mat.cod_materia;

Comando Inner Join

6. Visualizar un listado de los estudiantes que no se han matriculado

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.codigo

estudiante.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

estudiante

estudi_mat

  • Condición(es)

estudi_mat.cod_estudiante is null

  • ¿Cómo se relacionan las tablas?

estudiante.codigo=estudi_mat.cod_estudiante

estudi_mat.cod_estudiante is null 

  • Sintaxis:

select estudiante.codigo, estudiante.nombre from estudiante where estudiante.codigo not in(select estudi_mat.cod_estudiante from estudi_mat);

Comando Left Join

7. Visualizar un listado de las materias a las que ningún estudiante se matriculó. 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

materia.codigo

materia.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

materia

estudi_mat

  • Condición(es)

estudi_mat.cod_materia is null

  • ¿Cómo se relacionan las tablas?

materia.codigo=estudi_mat.cod_materia

estudi_mat.cod_materia is null

  • Sintaxis:

select materia.codigo, materia.nombre from materia where materia.codigo not in(select estudi_mat.cod_materia from estudi_mat);

Comando Left Join

8. Visualizar los docentes con las materias que dictan

Análisis:

  • ¿Qué se desea consultar y de que tablas?

profesor.codigo

profesor.nombre

materia.codigo

materia.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

materia

profesor

materia_profe

  • Condición(es)

Ninguna

  • ¿Cómo se relacionan las tablas?

profesor.codigo = materia_profe.codigo_profesor

materia.codigo = materia_profe.codigo_materia

  • Sintaxis:

select distinct profesor.codigo, profesor.nombre, materia.codigo, materia.nombre from profesor, materia, materia_profe where profesor.codigo = materia_profe.codigo_profesor and materia.codigo = materia_profe.codigo_materia;

Comando Inner Join

9. Visualizar las materias que no tienen docente asignado. 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

materia.codigo

materia.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

materia

materia_profe

  • Condición(es)

materia_profe.codigo_materia is null

  • ¿Cómo se relacionan las tablas?

materia.codigo=materia_profe.codigo_materia

materia_profe.codigo_materia is null

  • Sintaxis:

select materia.codigo, materia.nombre from materia where materia.codigo not in(select materia_profe.codigo_materia from materia_profe);

En este caso el resultado de la consulta es vacío debido a que cada materia tiene asignado por lo menos un docente.

Comando Left Join

10. Visualizar que docentes no tienen materias asignadas. 

Análisis:

  • ¿Qué se desea consultar y de que tablas?

profesor.codigo

profesor.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

profesor

materia_profe

  • Condición(es)

materia_profe.codigo_profesor is null

  • ¿Cómo se relacionan las tablas?

profesor.codigo=materia_profe.codigo_profesor

materia_profe.codigo_profesor is null

  • Sintaxis:

select profesor.codigo, profesor.nombre from profesor where profesor.codigo not in(select materia_profe.codigo_profesor from materia_profe);

Comando Left Join

11. Visualizar el estudiante con las materias que tiene matriculadas y que docentes las dicta.

Análisis:

  • ¿Qué se desea consultar y de que tablas?

estudiante.codigo

estudiante.nombre

materia.codigo

materia.nombre

profesor.codigo

profesor.nombre

  • ¿Qué tablas se ven afectadas o involucradas?

estudiante

materia

profesor

materia_profe

estudi_mat

  • Condición(es)

Ninguna

  • ¿Cómo se relacionan las tablas?

estudiante.codigo = estudi_mat.cod_estudiante

materia.codigo = estudi_mat.cod_materia

profesor.codigo = materia_profe.codigo_profesor

materia.codigo = materia_profe.codigo_materia

  • Sintaxis:

select distinct estudiante.codigo, estudiante.nombre, materia.codigo, materia.nombre, profesor.nombre, profesor.codigo from estudiante, materia, profesor, materia_profe, estudi_mat where estudiante.codigo = estudi_mat.cod_estudiante and materia.codigo = estudi_mat.cod_materia and profesor.codigo = materia_profe.codigo_profesor and materia.codigo = materia_profe.codigo_materia;

Comando Inner Join

Share
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar