Tarea 3

5

Click here to load reader

description

Resolución de ejercicios en PLSQL Developer

Transcript of Tarea 3

Page 1: Tarea 3

Universidad Austral de Chile

Facultad de Ciencias Económicas y Administrativas

Instituto de Administración

Escuela de Auditoría

ADMI -274

INFORME VISTAS,

FUNCIONES Y

PROCEDIMIENTOS.

INTEGRANTES: KAREN BULNES

DAYANNE CARREÑO

JOSÉ VÁSQUEZ

CURSO: ADMI-274

FECHA: 31-05-11

Page 2: Tarea 3

Tarea N° 3 - Para la realización de la tarea se contempla el modelo de datos referente a la biblioteca.

I. Vista: Considerar los siguientes puntos para construir una vista que despliegue la siguiente información: Los estudiantes que tienen libros a la fecha de: 02/05/2011

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 qué 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.

Page 3: Tarea 3

SOLUCIÓN EJERCICIO N° 1 CREATE OR REPLACE VIEW EJERCICIO_1_TAREA_3 AS SELECT E.RUT_EST AS "CI ESTUDIANTE", E.NOMBRES AS "NOMBRES ESTUDIANTE", E.APELLIDOS AS "APELLIDOS ESTUDIANTE", C.NOMBRE AS "CARRERA", L.COD_LIBRO AS "COD. LIBRO", L.TITULO AS "TÍTULO DEL LIBRO", L.AGNO AS "AÑO", A.NOMBRES AS "NOMBRE AUTOR", A.APELLIDOS AS "APELLIDOS AUTOR", ED.NOMBRE AS "EDITORIAL", ED.PAIS AS "PAÍS EDITORAL", B.BIBLIOTECA, T.TIPO_P AS "TIPO DE COLECCIÓN", F.RUT_FUNC AS "CI FUNCIONARIO", F.NOMBRES AS "NOMBRE FUNCIONARIO", F.APELLIDOS AS "APELLIDOS FUNCIONARIO", P.FECHA_P AS "FECHA DE PRÉSTAMO", P.FECHA_E AS "FECHA DE ENTREGA" FROM ESTUDIANTES E, PRESTAMO P, LIBROS L, AUTORES A, EDITORIALES ED, BIBLIOTECA B, TIPO T, CARRERAS C, FUNCIONARIOS F WHERE 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 P.RUT_EST=E.RUT_EST AND E.ID_CARRERA=C.ID_CARRERA AND P.FECHA_P <= '02/05/2011' AND P.FECHA_E >= '02/05/2011'

Page 4: Tarea 3

II. Funciones: a. Que entregue el número de estudiante de las carreras de Ing. Comercial y Auditoría. (Pertenece al laboratorio Nº8) SOLUCIÓN create or replace function FUNCIÓN_UNO_T3 return INTEGER is RESULTADO INTEGER ; begin SELECT COUNT (*) INTO RESULTADO FROM ESTUDIANTES E,

CARRERAS C WHERE E.ID_CARRERA=C.ID_CARRERA AND (C.NOMBRE ='Ing. Comercial' OR C.NOMBRE = 'Auditoria'); return(RESULTADO); end FUNCIÓN_UNO_T3; b. Que entregue el número de veces que se ha prestado un libro a un estudiante, entre un rango de fechas. (Parámetros de entrada: RUT_ESTUDIANTE, CODIGO_LIBRO, fecha1, fecha2) (Pertenece al laboratorio Nº8) SOLUCIÓN

create or replace function FUNCIÓN_DOS_T3(RUT IN NUMBER, CÓDIGO_LIBRO IN NUMBER, FECHA_1 IN DATE, FECHA_2 IN DATE) return INTEGER is RESULTADO INTEGER ; begin SELECT COUNT (*) INTO RESULTADO FROM ESTUDIANTES E, PRESTAMO P, LIBROS L WHERE E.RUT_EST = P.RUT_EST AND P.COD_LIBRO=L.COD_LIBRO AND E.RUT_EST = RUT AND L.COD_LIBRO = CÓDIGO_LIBRO AND P.FECHA_P > FECHA_1 AND P.FECHA_P < FECHA_2;

Page 5: Tarea 3

return(RESULTADO); end FUNCIÓN_DOS_T3; III. DML (Insert-Update-Delete): a. Que permita agregar un estudiante. (Pertenece al laboratorio Nº9) SOLUCIÓN INSERT INTO ESTUDIANTES (RUT_EST, NOMBRES, APELLIDOS, EDAD, FONO, DIRECCION, ID_CARRERA) VALUES (163102012, 'JOSE MARCO ANTONIO', 'VÁSQUEZ CEPEDA', 25, '76795790', 'LAGO PALENA 0460', 1); COMMIT; b. Que elimine el registro de un funcionario, teniendo como parámetro de entrada su RUT. (Pertenece al laboratorio Nº9)

SOLUCIÓN

DELETE FROM FUNCIONARIOS F

WHERE F.RUT_FUNC=109878222;

COMMIT;

c. Que permita actualizar la información de un estudiante: EDAD, FONO, DIRECCION, conociendo

su RUT. (Pertenece al laboratorio Nº9)

SOLUCIÓN

UPDATE ESTUDIANTES E

SET E.EDAD = 27,

E.FONO = 255676,

E.DIRECCION = 'PICARTE 3500'

WHERE E.RUT_EST = 163102012;

COMMIT;