PARCIAL II
Modelo Entidad - Relación
Modelo relacional
1. Agregarme a la tabla alumno.
2. ¿Qué profesores dictan en la carrera de ingeniería de sistemas?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- profesor.nombre
2. ¿Qué tabla se ve afectada?
Las tablas afectadas son profesor, carrera y profcar.
3. ¿Cuál es la condición?
La condición es que el profesor de clases en la carrera de "Ingeniería de Sistemas".
4. ¿Cómo se relacionan esas tablas?
profesor.codprofe=profcar.codprofe
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando inner join.
6. ¿Qué sintaxis se va a utilizar?
select profesor.nombre from profesor inner join profcar on profesor.codprofe=profcar.codprofe where profcar.codcarre='001';
Consulta exportada a excel:
3. ¿Qué alumnos están matriculados en la carrera de Derecho y cuáles profesores dictan en esa carrera?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- alumno.nombre
- profesor.nombre
2. ¿Qué tabla se ve afectada?
Las tablas afectadas son alumno, profesor, carrera, alumcar y profcar.
3. ¿Cuál es la condición?
La condición es que los alumnos estén matriculados en la carrera de Derecho y mostrar cuáles profesores dictan esa carrera.
4. ¿Cómo se relacionan esas tablas?
alumno.codestu=matricula.codestu
matricula.codprofe=profesor.codprofe
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando inner join.
6. ¿Qué sintaxis se va a utilizar?
select alumno.nombre,profesor.nombre from alumno inner join matricula on alumno.codestu=matricula.codestu inner join profesor on matricula.codprofe=profesor.codprofe where matricula.codcarre='004';
Consulta exportada a excel:
4. ¿Cuánto les costó el semestre a los alumnos que se matricularon en Veterinaria?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- matricula.valorsemestre
2. ¿Qué tabla se ve afectada?
Las tablas afectadas son matricula y carrera.
3. ¿Cuál es la condición?
La condición es que se muestre el valor de la carrera de "Veterinaria".
4. ¿Cómo se relacionan esas tablas?
matricula.codcarre=carrera.codcarre
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando inner join.
6. ¿Qué sintaxis se va a utilizar?
select distinct matricula.valorsemestre from matricula inner join carrera on matricula.codcarre=carrera.codcarre where carrera.codcarre='008';
select Sum(valorsemestre) 'Costo total del semestre de Veterianaria' from matricula where codcarre = '008';
Nota: Coloco ambos comandos porque la pregunta es algo ambigua, no sé si se refiere al valor del semestre por cada alumno, o a la suma del valor del semestre de todos los alumnos.
Consulta exportada a excel:
5. ¿A cuáles alumnos les tocaría ver clases con el profesor Portacio Cartagena?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- alumno.nombre
2. ¿Qué tabla se ve afectada?
Las tablas afectadas son alumno y matricula.
3. ¿Cuál es la condición?
La condición es que se muestre el valor de la carrera de "Veterinaria".
4. ¿Cómo se relacionan esas tablas?
alumno.codestu=matricula.codestu
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando inner join.
6. ¿Qué sintaxis se va a utilizar?
select alumno.nombre from alumno inner join matricula on alumno.codestu=matricula.codestu where matricula.codprofe='003';
Consulta exportada a excel:
5. ¿Cuál es el valor del semestre más alto?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- matricula.valorsemestre
2. ¿Qué tabla se ve afectada?
La tabla afectada es matricula.
3. ¿Cuál es la condición?
No aplican condiciones.
4. ¿Cómo se relacionan esas tablas?
No aplican relaciones.
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando max.
6. ¿Qué sintaxis se va a utilizar?
select max(valorsemestre)'El valor del semestre más alto es' from matricula;
Consulta exportada a excel:
7. ¿Cuál es el promedio del valor de semestre que ha entrado a la cartera de la universidad?
Análisis:
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- matricula.valorsemestre
2. ¿Qué tabla se ve afectada?
La tabla afectada es matricula.
3. ¿Cuál es la condición?
No aplican condiciones.
4. ¿Cómo se relacionan esas tablas?
No aplican relaciones.
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando avg.
6. ¿Qué sintaxis se va a utilizar?
select avg(valorsemestre)'El promedio del valor es' from matricula;
Consulta exportada a excel:
8. Mostrar los nombres de los estudiantes que comiencen por A o que terminen en R.
Análisis
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- alumno.nombre
2. ¿Qué tabla se ve afectada?
La tabla afectada es alumno.
3. ¿Cuál es la condición?
La condición es que el nombre de los estudiantes empiece con la letra "A" o termine con la letra "R".
4. ¿Cómo se relacionan esas tablas?
No aplican relaciones.
5. ¿Qué operador se debe utilizar?
Se va a utilizar el operador like.
6. ¿Qué sintaxis se va a utilizar?
select nombre 'Alumno' from alumno where nombre like 'a%' or nombre like '%r';
Consulta exportada a excel:
9. Total valorsemestre pagado por carrera.
1. ¿ Qué se va a consultar?
El total del valor del semestre pagado por carrera.
2. ¿Cuál es el campo en el que se aplica la función?
Se va a aplicar la función en el campo valorsemestre.
3. ¿Cuál es el campo por el cual se va a agrupar?
Se va a agrupar por el campo carrera.
4. ¿Cuál es el comando y la función a utilizar?
Se va a utilizar el comando group by y la función sum.
5. ¿Cuál es la sintaxis a utilizar?
select carrera, Sum(valorsemestre)'El total pagado por cada carrera es' from matricula group by carrera;
10. Visualizar los estudiantes que no están matriculados.
Análisis
1. ¿Qué tablas va a utilizar y qué se va a consultar?
- alumno.nombre
2. ¿Qué tabla se ve afectada?
La tabla afectada es alumno y matricula.
3. ¿Cuál es la condición?
La condición es que los estudiantes no estén matriculados.
4. ¿Cómo se relacionan esas tablas?
alumno.codestu=matricula.codestu
5. ¿Qué comando se debe utilizar?
Se va a utilizar el comando left join
6. ¿Qué sintaxis se va a utilizar?
select alumno.nombre from alumno left join matricula on alumno.codestu=matricula.codestu where matricula.codestu is null;
Consulta exportada a excel:

