Está en la página 1de 5

Valdivia 30 de Abril de 2012

Tarea SQL
Sistemas de Informacin Administrativos ADMI-274
Docente: -Cristian Salazar C. -Jos Luis Carrasco V. Estudiantes: -Karina Espinoza -Camilo Ruiz S.

Desarrollo de consultas Laboratorio 23 de abril de 2012


A) Realice las siguientes vistas: 1) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). SQL :
select e.nombres, e.apellidos, c.nombre as carreras, cm.nombre as campus from estudiantes e, carreras c, campus cm where e.id_carrera = c.id_carrera and c.id_campus = cm.id_campus and c.nombre='ING. COMERCIAL'

2)

Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). SQL :
select e.nombres, e.apellidos, c.nombre as carreras, cm.nombre as campus from estudiantes e, carreras c, campus cm where e.id_carrera = c.id_carrera and c.id_campus = cm.id_campus and c.nombre='AUDITORIA'

3)

Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES, APELLIDOS y FONO). SQL :
select p.rut_est, e.nombres, e.apellidos, e.fono, p.fecha_e from estudiantes e, prestamo p where p.rut_est = e.rut_est and p.fecha_e < sysdate

4) La cantidad de libros prestados SQL :


select count (*) as prestados from prestamo p where p.fecha_e < sysdate

5)

Los libros de editoriales extranjeras (CODIGO,TITULO , AO y PAIS de ORIGEN). SQL :


select l.cod_libro, l.titulo, l.agno as ao, e.pais from libros l, editoriales e where e.id_edit = l.id_edit and e.pais <> 'CHILE'

6) Los libros que son de reserva (CODIGO, TITULO y AO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ). SQL :
select l.cod_libro, l.titulo, l.agno as ao, b.biblioteca, a.nombres, a.apellidos, e.nombre as editorial, e.pais from libros l, biblioteca b, autores a, editoriales e, tipo t where l.id_biblio = b.id_biblio and l.id_edit = e.id_edit and l.rut_autor = a.rut_autor and l.id_tipo = t.id_tipo and t.tipo_p = 'RESERVA'

B) Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente (Vista). Se solicita:

1)

Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).

SQL :
select e.nombres, e.apellidos from estudiantes e, carreras c, campus cm, prestamo p where e.id_carrera = c.id_carrera and cm.id_campus = c.id_campus and e.rut_est = p.rut_est and cm.nombre = 'ISLA TEJA' and p.fecha_e <> sysdate

2) Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, adems del NOMBRE de la carrera a la cual pertenece. SQL :
select e.rut_est, e.nombres, e.apellidos, c.nombre as carrera from estudiantes e, carreras c where e.id_carrera = c.id_carrera

3) Adems se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAIS, indicar en qu biblioteca se encuentra, y de qu tipo es. SQL :
select e.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera, l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre as edit, ed.pais, b.biblioteca, t.tipo_p from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t, prestamo p where e.id_carrera = c.id_carrera and e.rut_est = p.rut_est and l.cod_libro = p.cod_libro and l.rut_autor = a.rut_autor and l.id_edit = ed.id_edit and l.id_biblio = b.id_biblio and l.id_tipo = t.id_tipo

4) Se debe indicar que funcionario realizo la transaccin, con RUT, NOMBRE y APELLIDO. SQL :
select e.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera, l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario, f.apellidos as ape_funcio from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t, prestamo p, funcionarios f where e.id_carrera = c.id_carrera and e.rut_est = p.rut_est and l.cod_libro = p.cod_libro and l.rut_autor = a.rut_autor and l.id_edit = ed.id_edit and l.id_biblio = b.id_biblio and l.id_tipo = t.id_tipo and f.rut_func = p.rut_func

5) Adems deber indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de ste. SQL :


select e.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera, l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario, f.apellidos as ape_funcio, p.fecha_p as prest_fecha, p.fecha_e as entrega from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t, prestamo p, funcionarios f where e.id_carrera = c.id_carrera and e.rut_est = p.rut_est and l.cod_libro = p.cod_libro and l.rut_autor = a.rut_autor and l.id_edit = ed.id_edit and l.id_biblio = b.id_biblio and l.id_tipo = t.id_tipo and f.rut_func = p.rut_func

C) Se solicita obtener lo siguiente (consulta): 1) El nmero de Estudiantes por Carrera. SQL :


SELECT C.NOMBRE, COUNT(*)AS ESTUDIANTES FROM ESTUDIANTES E, CARRERAS C WHERE E.ID_CARRERA = C.ID_CARRERA GROUP BY C.NOMBRE

2) El nmero de Estudiantes por Campus SQL :


SELECT CS.NOMBRE, COUNT(*)AS ESTUDIANTES FROM ESTUDIANTES E, CARRERAS C,CAMPUS CS WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CS.ID_CAMPUS GROUP BY CS.NOMBRE

3) El numero de Estudiantes por Ciudad SQL :


SELECT CI.NOMBRE, COUNT(*)AS ESTUDIANTES FROM ESTUDIANTES E, CARRERAS C,CAMPUS CS, CIUDAD CI WHERE E.ID_CARRERA = C.ID_CARRERA AND C.ID_CAMPUS = CS.ID_CAMPUS AND CS.ID_CIUDAD = CI.ID_CIUDAD GROUP BY CI.NOMBRE

4) El numero de Prstamos atrasados SQL :


select count(*) as libros_atrasados from prestamo p where p.fecha_e < sysdate

5)

El nmero de Prestamos Activos, No atrasados. SQL :


select count(*) as libros_prestados from prestamo p where p.fecha_e > = sysdate and p.fecha_p < sysdate