Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quin...
Consultas y vistas sistema información administrativa
1. Actividad 1. Ayudantía: Consultas y Vistas
Sistema de Información Administrativa
Profesor Responsable: Cristian Salazar
Ayudante: Jose Luis Carrasco
Alumna: Nidia Manríquez Solís
2. DESARROLLO ACTIVIDAD
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).
create or replace view ESTUD_ING_COM as
Select e.nombres, e.apellidos, c.nombre, cam.nombre "campus"
From estudiantes e, carreras c, campus cam
Where e.id_carrera = c.id_carrera
And c.id_campus = cam.id_campus
And c.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).
create or replace view ESTUD_AUDITORIA as
Select e.nombres, e.apellidos, c.nombre, cam.nombre "campus"
From estudiantes e, carreras c, campus cam
Where e.id_carrera = c.id_carrera
And c.id_campus = cam.id_campus
And c.nombre = 'AUDITORIA'
c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
NOMBRES, APELLIDOS y FONO).
create or replace view ESTUD_ATRASADOS as
Select e.rut_est, e.nombres, e.apellidos, e.fono, p.fecha_e
From estudiantes e, prestamo p, libros l
Where p.rut_est = e.rut_est
And p.cod_libro = l.cod_libro
And p.fecha_e < sysdate
d) La cantidad de libros prestados.
create or replace view LIBROS_PRESTADOS as
Select count (*) from PRESTAMO
3. e) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de ORIGEN).
create or replace view LIBROS_EXTR as
Select l.cod_libro,l.titulo, l.agno "año", e.pais
From libros l, editoriales e
Where e.pais <> 'CHILE' and l.id_edit=e.id_edit
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).
create or replace view LIBRO_RESERVA as
Select l.cod_libro,l.titulo, l.agno "año", e.pais
From libros l, editoriales e
Where e.pais <> 'CHILE' and l.id_edit=e.id_edit
4. 2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma
permanente (Vista). Se solicita:
Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).
Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del
NOMBRE de la carrera a la cual pertenece.
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.
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.
NOTA: deberá añadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la
carrera para diferenciarlos.
create or replace view DATOS_PRESTAMO as
Select e.rut_est,e.nombres "NOMBRE_ESTUDIANTE", e.apellidos
"APELLIDO_ESTUDIANTE", c.nombre "NOMBRE_CARRERA",l.cod_libro,
l.titulo, l.agno "año", a.nombres "NOMBRE_AUTOR" , a.apellidos
"APELLIDO_AUTOR",
ed.nombre "NOMBRE_EDITORIAL", ed.pais, b.biblioteca, t.tipo_p, f.rut_func,
f.nombres "NOMBRE_FUNCIONARIO", f.apellidos
"APELLIDO_FUNCIONARIO", p.fecha_p, p.fecha_e
From estudiantes e, carreras c, prestamo p, campus cam, libros l, autores a,
editoriales ed, biblioteca b, tipo t, funcionarios f
Where e.rut_est = p.rut_est
And e.id_carrera = c.id_carrera
And c.id_campus = cam.id_campus
And p.cod_libro = l.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 p.rut_func = f.rut_func
And cam.nombre = 'ISLA TEJA'
5. 3.- Se solicita obtener lo siguiente (consultas):
a) El numero de Estudiantes por Carrera.
select c.id_carrera , count(e.rut_est)
from estudiantes e, carreras c
where c.id_carrera = e.id_carrera
group by c.id_carrera
b) El numero de Estudiantes por Campus
select cam.id_campus, count(e.rut_est)
from carreras c, campus cam, estudiantes e
where cam.id_campus = c.id_carrera
and e.id_carrera=c.id_carrera
group by cam.id_campus
c) El numero de Estudiantes por Ciudad
select ci.id_ciudad, count(e.rut_est)
from carreras c, campus cam, estudiantes e, ciudad ci
where e.id_carrera=c.id_carrera
and cam.id_campus = c.id_carrera
and ci.id_ciudad=cam.id_campus
group by ci.id_ciudad
d) El numero de Préstamos atrasados
select fecha_e, count(fecha_p)
from prestamo
group by fecha_e
having fecha_e<sysdate
e) El número de Prestamos Activos, No atrasados.
select fecha_e, count(fecha_p)
from prestamo
group by fecha_e
having fecha_e>sysdate