Actividad 1 Ayudantia. Consultas y Vistas

5

Click here to load reader

Transcript of Actividad 1 Ayudantia. Consultas y Vistas

Page 1: Actividad 1 Ayudantia. Consultas y Vistas

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

Page 2: Actividad 1 Ayudantia. Consultas y Vistas

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

Page 3: Actividad 1 Ayudantia. Consultas y Vistas

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

Page 4: Actividad 1 Ayudantia. Consultas y Vistas

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'

Page 5: Actividad 1 Ayudantia. Consultas y Vistas

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