Parcial 2


RESTAURAR LA BASE DE DATOS MATRICULA2.SQL 

- Debe diseñar el modelo entidad relación y el modelo relacional.
- Realizar el análisis en cada uno de los puntos.

BASE DE DATOS  'Matricula2'


MODELO ENTIDAD RELACIÓN Y RELACIONAL.

Archivo Tee.


TABLAS CON INFORMACIÓN


1. Que profesores dictan en la carrera de ingeniería de sistemas.  

Análisis:
1. Que se desea Visualizar y de que tablas:
carrare.carrera
profesor.nombre

2. Que tablas están involucradas: Carrera, Profesor
3. Que condiciones tenemos: carrera.codcarre='001'
4. Como se relacionan las tablas:
 profesor.codprofe=profcar.codprofe
profcar.codcarre=carrera.codcarre
 
5. Comando se debe utilizar: Select, Where

Sintaxis:
>>> select carrera.carrera 'CARRERA', profesor.codprofe 'CODIGO',profesor.nombre 'PROFESOR' from profesor, carrera, profcar where profesor.codprofe=profcar.codprofe and profcar.codcarre=carrera.codcarre and carrera.codcarre='001';


2. Que alumnos están matriculados en la carrera de Derecho y cuales profesores dictan en esa carrera. 

Análisis:
1. Que se desea Visualizar y de que tablas:
alumno.nombre, 
carrera.carrera

2. Que tablas están involucradas: alumno, carrera.
3. Que condiciones tenemos: matricula.cocarre='004'
4. Como se relacionan las tablas:
alumno.codestu=matricula.codestu
 carrera.codcarre=matricula.codcarre
 matricula.codprofe=profesor.codprofe
 
5. Comando se debe utilizar:

Sintaxis:
>>> select alumno.nombre 'ALUMNO', carrera.carrera 'CARRERA', profesor.nombre 'PROFESOR' from alumno, profesor, carrera, matricula where alumno.codestu=matricula.codestu and carrera.codcarre=matricula.codcarre and matricula.codprofe=profesor.codprofe and matricula.codcarre='004';


3. Cuánto les costó el semestre de los alumnos que se matricularon en Veterinaria. 

Análisis:
1. Que se desea Visualizar y de que tablas:
carrera.carrera
matricula.valorsemestre

2. Que tablas están involucradas: carrera, matricula
3. Que condiciones tenemos: matricula.codcarre='008'
4. Como se relacionan las tablas:
carrera.codcarre=matricula.codcarre 
5. Comando se debe utilizar: distinct, select, where.

Sintaxis:
>>> select distinct carrera.carrera 'CARRERA', matricula.valorsemestre 'VALOR SEMESTRE' from carrera,matricula where carrera.codcarre=matricula.codcarre and matricula.codcarre='008';


4. A que alumnos les tocaría ver clases con el profesor Portacio Cartagena. 

Análisis:
1. Que se desea Visualizar y de que tablas:
alumno, 

2. Que tablas están involucradas: Alunmo, Matricula, Profesor 
3. Que condiciones tenemos: matricula.codprofe='003'
4. Como se relacionan las tablas:
alumno.codestu=matricula.codestu
 matricula.codprofe=profesor.codprofe
 
5. Comando se debe utilizar: Select, Where

Sintaxis:
>>> select * from alumno,matricula,profesor where alumno.codestu=matricula.codestu and matricula.codprofe=profesor.codprofe and matricula.codprofe='003';


5. cuál es el valor del semestre más alto. 

Análisis:
1. Que se desea Visualizar y de que tablas:
Valor mas Alto del Semestre matricula.valorsemestre
2. Que tablas están involucradas: Matricula.
3. Que condiciones tenemos:  Max(valorsemestre)
4. Como se relacionan las tablas: N/A
5. Comando se debe utilizar: Select.

Sintaxis:
>>> select max(valorsemestre)'VALOR MAS ALTO DEL SEMESTRE' from matricula;


6. Cuál es el promedio del valor de semestre que ha entrado a la cartera de la universidad. 

Análisis:
1. Que se desea Visualizar y de que tablas:  Valor Promedio del valor de las carreras.
2. Que tablas están involucradas: Matricula.
3. Que condiciones tenemos: AVG(valorsemestre)
4. Como se relacionan las tablas: N/A
5. Comando se debe utilizar: Select, AVG.

Sintaxis:
>>> select avg(valorsemestre)'PROMEDIO DE VALOR DEL SEMESTRE' from matricula;


7. Mostrar los nombres de los estudiantes que comiencen por A o que terminen en R. 

Análisis:
1. Que se desea Visualizar y de que tablas:
Nombres 
que comiencen por A o que terminen en R.
2. Que tablas están involucradas: alumno.
3. Que condiciones tenemos: like 'A%',  like '%R'; 
4. Como se relacionan las tablas: N/A
5. Comando se debe utilizar: Select, Like, or

Sintaxis:
>>> select alumno.nombre from alumno where nombre like 'A%' or nombre like '%R';


8. Total valorsemestre pagado por carrera; 

Análisis:
1. Que se desea Visualizar y de que tablas:
carrera.carrera
matricula.valorsemestre

2. Que tablas están involucradas: Carrera, Matricula.
3. Que condiciones tenemos: sum(valorsemestre)group by matricula.codcarre; 
4. Como se relacionan las tablas: carrera.codcarre=matricula.codcarre 
5. Comando se debe utilizar: Select, Sum, Where, Group by.

Sintaxis:
>>> select carrera.carrera 'CARRERA', sum(valorsemestre) 'VALOR PAGADOD POR CARRERA' from matricula, carrera where carrera.codcarre=matricula.codcarre group by matricula.codcarre;


9. Visualizar los estudiantes que no están matriculados. 

Análisis:
1. Que se desea Visualizar y de que tablas:
Alumno.
2. Que tablas están involucradas: Alumno, Matricula
3. Que condiciones tenemos: matricula.codestu is null 
4. Como se relacionan las tablas: alumno.codestu=matricula.codestu 
5. Comando se debe utilizar: Select, Left Join, On , Where.

Sintaxis:
>>> select * from alumno left join matricula on alumno.codestu=matricula.codestu where matricula.codestu is null;