Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
Trabajo ayudantia
1. Actividades ayudantía 23.04.
Integrantes: Gabriela Behrend D/ Valentina Ulloa O.
Supuestos: La base de datos no guarda el histórico de los préstamos realizados, es
decir, que al entregar un libro, ese préstamo se elimina de la tabla PRESTAMO.
1.- Realice las siguientes vistas:
a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y
APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus).
select e.nombres, e.apellidos, cc.nombre as carreras ,
c.nombre as campus
from estudiantes e, carreras cc, campus c
where cc.id_campus = c.id_campus and e.id_carrera =
cc.id_carrera and cc.nombre='ING. COMERCIAL'
b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus).
select e.nombres, e.apellidos, cc.nombre as carreras ,
c.nombre as campus
from estudiantes e, carreras cc, campus c
where cc.id_campus = c.id_campus and e.id_carrera =
cc.id_carrera and cc.nombre='AUDITORIA'
c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
NOMBRES, APELLIDOS y FONO).
select e.rut_est, e.nombres, e.apellidos, e.fono, p.fecha_e
from estudiantes e, prestamo p
where e.rut_est=p.rut_est and p.fecha_e> sysdate
d) La cantidad de libros prestados.
select count (p.cod_libro)as libros
from prestamo p
e) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de
ORIGEN).
select l.cod_libro, l.titulo, l.agno as año, e.pais
from libros l , editoriales e
where e.pais <> 'CHILE' and l.id_edit=e.id_edit
2. f) Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE
de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el
PAIS).
select l.cod_libro, l.titulo, l.agno as año , b.biblioteca,
a.nombres as nombresautor, a.apellidos as apellidosautor ,
e.nombre as editorial, e.pais, l.id_tipo as reserva
from libros l, biblioteca b, autores a, editoriales e
where l.id_edit=e.id_edit and b.id_biblio=l.id_biblio and
a.rut_autor=l.rut_autor and l.id_tipo='1'
2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma
permanente (Vista). Se solicita:
a) Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados
o no).
select e.nombres as nombresestudiantes, e.apellidos as
apellidosestudiantes , c.nombre as nombrecampus
from estudiantes e, campus c, prestamo p
where c.nombre='ISLA TEJA' and e.rut_est=p.rut_est
order by p.fecha_p
b) Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del
NOMBRE de la carrera a la cual pertenece.
select e.rut_est as rutestudiantes, e.nombres as
nombresestudiantes, e.apellidos as apellidosestudiantes,
c.nombre as carrera
from estudiantes e, carreras c
where e.id_carrera=c.id_carrera
order by e.rut_est asc
3. c) Además se debe entregar que libro tiene prestado, indicando CODIGO,
TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITORIAL y su
PAIS, indicar en qué biblioteca se encuentra, y de qué tipo es.
select e.rut_est as rutestudiantes, e.nombres as
nombresestudiantes, e.apellidos as apellidosestudiantes,
c.nombre as carrera, l.titulo, l.cod_libro as
codigolibro,l.agno as año, a.nombres as nombreautor,
a.apellidos as apellidosautor, ed.nombre as nombreeditorial,
ed.pais as paiseditoril, b.biblioteca, l.id_tipo, p.fecha_p
from estudiantes e, carreras c, editorial ed, prestamo p,
libros l, autores a, biblioteca b, tipo t
where l.id_edit=ed.id_edit and l.id_biblio=b.id_biblio and
ed.cod_libro=l.cod_libro and l.id_tipo=t.id_tipo and
e.rut_est=p.rut_est
order by p.fecha_p
d) Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y
APELLIDO. Además deberá indicarse la FECHA de PRESTAMO y la
FECHA de ENTREGA de éste.
select f.rut_func as rutfuncionarios, f.nombres as
nombresfuncionarios, f.apellidos as funcionariosapellidos,
p.fecha_p as fechaprestamo, p.fecha_e as fechaentrega
from funcionarios f, prestamo p
where f.rut_func=p.rut_func
3.- Se solicita obtener lo siguiente (consultas):
a) El numero de Estudiantes por Carrera.
select c.nombre as carreras, count(e.nombres)as
numestudiantes
from carreras c, estudiantes e
where c.id_carrera=e.id_carrera
group by c.nombre
b) El numero de Estudiantes por Campus
4. select c.nombre as campus, count(e.nombres)as numestudiantes
from campus c, estudiantes e
group by c.nombre
c) El numero de Estudiantes por Ciudad
select c.nombre as ciudad, count(e.nombres)as numestudiantes
from ciudad c, estudiantes e
group by c.nombre
d) El numero de Préstamos atrasados
select count(p.fecha_e)as prestamosatrasados
from prestamo p
where p.fecha_e>sysdate
c) El número de Prestamos Activos, No atrasados.
select count(p.fecha_p)as prestamosactivos
from prestamo p
where p.fecha_p<sysdate