1. 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
2. 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.
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'
4. 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;
5. 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;