laboratorio de PLSQL-ORACLE

15
UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS INSTITUTO DE ADMINISTRACIÓN Sistemas de Información Empresarial Sistemas de Información Empresarial Nombre: Valeria Muñoz Ortiz

Transcript of laboratorio de PLSQL-ORACLE

Page 1: laboratorio de PLSQL-ORACLE

UNIVERSIDAD AUSTRAL DE CHILE

FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS

INSTITUTO DE ADMINISTRACIÓN

Sistemas de Información Empresarial

Sistemas de Información Empresarial

Nombre:

Valeria Muñoz Ortiz

30 de abril de 2012, Valdivia

Page 2: laboratorio de PLSQL-ORACLE

Actividades 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).

Total de datos de la consulta 113

select e.nombres NOMBRES, e.apellidos APELLIDOS, car.nombre CARRERA, cam.nombre CAMPUSfrom estudiantes e, carreras car, campus camwhere car.nombre = 'ING. COMERCIAL'and car.id_CAMPUS=cam.id_campusand e.id_carrera=car.id_carrera;

Page 3: laboratorio de PLSQL-ORACLE

b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus).

Total de datos de la consulta 81

select e.nombres NOMBRE, e.apellidos APELLIDO, car.nombre CARRERA, cam.nombre CAMPUSfrom estudiantes e, carreras car, campus camwhere car.nombre = 'AUDITORIA'and car.id_CAMPUS=cam.id_campusand e.id_carrera=car.id_carrera;

c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES, APELLIDOS y FONO).

Total de datos de la consulta 291

select e.nombres, e.apellidos, e.rut_est, e.fono, p.fecha_p, p.fecha_efrom estudiantes e, prestamo pwhere e.rut_est=p.rut_estand p.fecha_e<sysdate

Page 4: laboratorio de PLSQL-ORACLE

d) La cantidad de libros prestados.

Total de datos de la consulta 291

SELECT count (*) from prestamo;

Page 5: laboratorio de PLSQL-ORACLE

e) Los libros de editoriales extranjeras (CODIGO,TITULO , AÑO y PAIS de ORIGEN).

Total de datos de la consulta 1094

select ed.pais, l.titulo, l.agno, l.cod_librofrom editoriales ed, libros lwhere l.id_edit=ed.id_editand ed.pais <> 'CHILE'

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 ).

Total de datos de la consulta 275

Select L.COD_LIBRO, L.TITULO, L.AGNO AS AÑO, B.BIBLIOTECA, A.NOMBRES, A.APELLIDOS, ED.NOMBRE, ED.PAIS, t.tipo_pFROM LIBROS L, BIBLIOTECA B, AUTORES A, EDITORIALES ED, TIPO TWHERE ED.ID_EDIT = L.ID_EDITAND A.RUT_AUTOR = L. RUT_AUTORAND t.id_tipo=l.id_tipoAND B.ID_BIBLIO = L.ID_BIBLIOAND T.TIPO_P = 'RESERVA';

Page 6: laboratorio de PLSQL-ORACLE
Page 7: laboratorio de PLSQL-ORACLE

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.

Supuesto: préstamos después de 10 de abril no se han entregado.

SELECT E.RUT_EST, E.NOMBRES, E.APELLIDOS, C.NOMBRE AS CARRERA, CS.NOMBREAS CAMPUS, P.FECHA_P, P.FECHA_E, L.COD_LIBRO, A.NOMBRES AS N_AUTOR,A.APELLIDOS AS AP_AUTOR, ED.NOMBRE AS EDITORIAL, ED.PAIS, B.BIBLIOTECA,T.TIPO_P AS TIPO, F.RUT_FUNC, F.NOMBRES AS NOMBRES_FUNC, F.APELLIDOS ASAPELLIDOS_FUNCFROM ESTUDIANTES E, PRESTAMO P, LIBROS L, CARRERAS C, CAMPUS CS, AUTORESA, EDITORIALES ED, BIBLIOTECA B, TIPO T, FUNCIONARIOS FWHERE E.RUT_EST=P.RUT_ESTAND L.COD_LIBRO=P.COD_LIBROAND C.ID_CARRERA=E.ID_CARRERAAND CS.ID_CAMPUS=C.ID_CAMPUSAND A.RUT_AUTOR=L.RUT_AUTORAND ED.ID_EDIT=L.ID_EDITAND B.ID_BIBLIO=L.ID_BIBLIOAND T.ID_TIPO=L.ID_TIPOAND F.RUT_FUNC=P.RUT_FUNCAND P.FECHA_P > '10/04/2012'AND CS.NOMBRE='ISLA TEJA'

Se divide en 3 porque no alcanza a verse todos los campos con el pantallazo

Page 8: laboratorio de PLSQL-ORACLE
Page 9: laboratorio de PLSQL-ORACLE

3.- Se solicita obtener lo siguiente (consultas): a) El número de Estudiantes por Carrera.

Total de carreras 45

SELECT C.NOMBRE, COUNT(E.RUT_EST)AS "NUMERO DE ESTUDIANTES"FROM ESTUDIANTES E, CARRERAS CWHERE C.ID_CARRERA = E.ID_CARRERAGROUP BY C.NOMBRE

Page 10: laboratorio de PLSQL-ORACLE

b) El número de Estudiantes por Campus

Número de estudiantes de puerto Montt 567 Número de estudiantes de isla teja 2033 Número de estudiantes de Miraflores 606

SELECT COUNT(E.RUT_EST) AS "NUMERO DE ESTUDIANTES", CS.NOMBRE AS "NOMBRE CAMPUS"FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS WHERE C.ID_CARRERA = E.ID_CARRERAAND CS.ID_CAMPUS = C.ID_CAMPUSGROUP BY CS.NOMBRE

c) El número de Estudiantes por Ciudad

Número de estudiantes de Puerto Montt 567 Número de estudiantes de Valdivia 2639

SELECT COUNT(E.RUT_EST)AS "NUMERO DE ESTUDIANTES", CI.NOMBRE AS "CIUDAD"FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS, CIUDAD CI WHERE C.ID_CARRERA = E.ID_CARRERAAND CS.ID_CAMPUS = C.ID_CAMPUSAND CI.ID_CIUDAD = CS.ID_CIUDADGROUP BY CI.NOMBRE;

Page 11: laboratorio de PLSQL-ORACLE

d) El número de Préstamos atrasados

El número de Préstamos atrasados 291

SELECT COUNT(P.FECHA_E) AS "NUMERO DE PRESTAMOS ATRASADOS"FROM PRESTAMO P WHERE P.FECHA_E < SYSDATE

Page 12: laboratorio de PLSQL-ORACLE

e) El número de Prestamos Activos, No atrasados.

Supuesto: préstamos del 16/04/2012 están al día o activos.

Son 259

select count(*) as prestamos_activosfrom prestamo pwhere p.fecha_p>= '16/04/2012';