Laboratorio 2 SIA
-
Upload
miguel-pustela-jara -
Category
Documents
-
view
85 -
download
2
Transcript of Laboratorio 2 SIA
![Page 1: Laboratorio 2 SIA](https://reader036.fdocuments.ec/reader036/viewer/2022082607/55b4ba8cbb61eba92f8b4591/html5/thumbnails/1.jpg)
LABORATORIO 2 SIAConstanza Ruiz Aguilar – Miguel Pustela Jara
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 ESTUDIANTES_COMERCIAL ASSELECT E.NOMBRES, E.APELLIDOS, C.NOMBRE , CA.NOMBRE AS CAMPUSFROM ESTUDIANTES E, CARRERAS C, CAMPUS CAWHERE C.ID_CAMPUS=CA.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 ESTUDIANTES_AUDITORIA ASSELECT E.NOMBRES, E.APELLIDOS, C.NOMBRE, CA.NOMBRE AS CAMPUSFROM ESTUDIANTES E, CARRERAS C, CAMPUS CAWHERE C.ID_CAMPUS=CA.ID_CAMPUSAND 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 PRESTAMOS_ATRASADOS ASSELECT E.RUT_EST, E.NOMBRES, E.APELLIDOS, E.FONO, PR.FECHA_EFROM ESTUDIANTES E, PRESTAMO PRWHERE E.RUT_EST=PR.RUT_ESTAND FECHA_E < TRUNC( SYSDATE)
d) La cantidad de libros prestados.
CREATE OR REPLACE VIEW LIBROS_PRESTADOS ASSELECT COUNT(*)AS PRESTADOSFROM PRESTAMO
e) Los libros de editoriales extranjeras (CODIGO,TITULO , AÑO y PAIS de ORIGEN).
CREATE OR REPLACE VIEW EDITORIALES_EXTRANJERAS ASSELECT L.COD_LIBRO, L.TITULO, L.AGNO, ED.PAISFROM LIBROS L, EDITORIALES EDWHERE L.ID_EDIT=ED.ID_EDITAND ED.PAIS <> 'CHILE'
![Page 2: Laboratorio 2 SIA](https://reader036.fdocuments.ec/reader036/viewer/2022082607/55b4ba8cbb61eba92f8b4591/html5/thumbnails/2.jpg)
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 LIBROS_RESERVA ASSELECT T.ID_TIPO ,L.COD_LIBRO, L.TITULO, L.AGNO AS AÑO, BI.BIBLIOTECA, AU.NOMBRES, AU.APELLIDOS, ED.NOMBRE, ED.PAISFROM LIBROS L, BIBLIOTECA BI, AUTORES AU, EDITORIALES ED, TIPO TWHERE T.ID_TIPO=L.ID_TIPO AND L.ID_BIBLIO = BI.ID_BIBLIO AND L.RUT_AUTOR = AU.RUT_AUTOR AND L.ID_EDIT = ED.ID_EDITAND T.ID_TIPO = 1
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 PRESTAMOS_TEJA ASSELECT PR.RUT_EST, ES.NOMBRES AS NOMBRE_EST, ES.APELLIDOS AS APELLIDO_EST, CA.NOMBRE AS CARRERA, CAM.NOMBRE AS CAMPUS, LI.COD_LIBRO, LI.TITULO, LI.AGNO AS AÑO, AU.NOMBRES AS AUTOR, AU.APELLIDOS AS APELLIDO_AUTOR, ED.NOMBRE AS EDITORIAL, ED.PAIS, BI.BIBLIOTECA, TI.TIPO_P, FU.RUT_FUNC, FU.NOMBRES AS NOMBRE_FUNC, FU.APELLIDOS AS APELLIDO_FUNCFROM PRESTAMO PR, ESTUDIANTES ES, CARRERAS CA, CAMPUS CAM, LIBROS LI, AUTORES AU, EDITORIALES ED, BIBLIOTECA BI, TIPO TI, FUNCIONARIOS FUWHERE PR.RUT_EST = ES.RUT_EST AND PR.FECHA_E <> TRUNC(SYSDATE) AND CA.ID_CARRERA =ES.ID_CARRERAAND CAM.ID_CAMPUS=CA.ID_CAMPUS AND CAM.ID_CAMPUS=2 AND PR.COD_LIBRO=LI.COD_LIBROAND AU.RUT_AUTOR=LI.RUT_AUTOR AND ED.ID_EDIT =LI.ID_EDITAND BI.ID_BIBLIO=LI.ID_BIBLIO AND TI.ID_TIPO=LI.ID_TIPOAND FU.RUT_FUNC=PR.RUT_FUNC
![Page 3: Laboratorio 2 SIA](https://reader036.fdocuments.ec/reader036/viewer/2022082607/55b4ba8cbb61eba92f8b4591/html5/thumbnails/3.jpg)
3.- Se solicita obtener lo siguiente (vistas):
a) El numero de Estudiantes por Carrera.
CREATE OR REPLACE VIEW ESTUDIANTES_CARRERA ASSELECT CR.NOMBRE, COUNT(E.RUT_EST) AS NUMERO_ESTUDIANTESFROM CARRERAS CR, ESTUDIANTES EWHERE CR.ID_CARRERA=E.ID_CARRERAGROUP BY CR.NOMBRE
b) El numero de Estudiantes por Campus
CREATE OR REPLACE VIEW ESTUDIANTES_CAMPUS ASSELECT CA.NOMBRE, COUNT(E.RUT_EST) AS NUMERO_ESTUDIANTESFROM CARRERAS CR, ESTUDIANTES E, CAMPUS CAWHERE CR.ID_CARRERA=E.ID_CARRERA AND CA.ID_CAMPUS=CR.ID_CAMPUSGROUP BY CA.NOMBRE
c) El numero de Estudiantes por Ciudad
CREATE OR REPLACE VIEW ESTUDIANTES_CIUDAD ASSELECT CI.NOMBRE, COUNT(E.RUT_EST) AS NUMERO_ESTUDIANTESFROM CARRERAS CR, ESTUDIANTES E, CAMPUS CA, CIUDAD CIWHERE CR.ID_CARRERA=E.ID_CARRERA AND CA.ID_CAMPUS=CR.ID_CAMPUS AND CI.ID_CIUDAD=CA.ID_CIUDADGROUP BY CI.NOMBRE
d) El numero de Préstamos atrasados
CREATE OR REPLACE VIEW NUMERO_PRESTAMOS_ATRASADOS ASSELECT COUNT(PR.COD_LIBRO) AS PRESTAMOS_ATRASADOSFROM PRESTAMO PRWHERE PR.FECHA_E <= TRUNC(SYSDATE)
e) El número de Prestamos Activos, No atrasados.
CREATE OR REPLACE VIEW PRESTAMOS_ACTIVOS ASSELECT COUNT(PR.COD_LIBRO) AS PRESTAMOS_ACTIVOSFROM PRESTAMO PRWHERE PR.FECHA_E = TRUNC(SYSDATE)