El resumen presenta:
1) Una vista que muestra información de estudiantes que tienen libros prestados a una fecha específica, incluyendo detalles del estudiante, libro, autor, biblioteca y funcionario.
2) Dos funciones, una que cuenta estudiantes de dos carreras y otra que cuenta veces que un libro fue prestado a un estudiante entre fechas.
3) Tres procedimientos DML, uno para insertar un estudiante, otro para eliminar un funcionario y otro para actualizar datos de un estudiante.
PL/SQL Consultas, Funciones y DML Universidad Austral de Chile
1. Universidad Austral de Chile
Facultad de Cs. Económicas y Administrativas
Escuela de Auditoría
CURSO: Sistemas de Información Administrativa
Profesor Responsable: Cristian Salazar
Ayudante: Claudio Angulo
Tarea N° 3: Consultas PL/SQL
Integrantes:
Soledad Huenumán
Yanibel Villa
Valdivia 30 de mayo de 2011
2. 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.
Respuesta:
create or replace view T3ejercicio1 as
select p.fecha_p,
p.rut_est,
e.nombres as "NOMBRE",
e.apellidos,
c.nombre as "CARRERA",
p.cod_libro,
l.titulo as "LIBRO",
l.agno as "AÑO",
a.nombres as "AUTOR",
a.apellidos as "APELLIDO AUTOR",
ed.nombre as "EDITORIAL",
ed.pais,
b.biblioteca,
t.tipo_p,
f.nombres as "FUNCIONARIO",
f.rut_func,
f.apellidos as "APELLIDO FUNCIONARIO",
p.fecha_e
from estudiantes e,
prestamo p,
libros l,
autores a,
editoriales ed,
biblioteca b,
tipo t,
carreras c,
funcionarios f
where p.rut_est = e.rut_est
3. and p.cod_libro = l.cod_libro
and p.rut_func = f.rut_func
and e.id_carrera = c.id_carrera
and l.id_tipo = t.id_tipo
and l.id_edit = ed.id_edit
and l.id_biblio = b.id_biblio
and c.id_carrera = c.id_campus
and p.fecha_p < = '02/05/2011'
II. Funciones:
a) Que entregue el número de estudiante de las carreras de Ing. Comercial y
Auditoría.
Respuesta:
create or replace function ejercicioaT3 return integer is
Result integer ;
begin
select count(*) as "Número" into result
from estudiantes e,
carreras c
where e.id_carrera = c.id_carrera
and (c.id_carrera = 1
or c.id_carrera = 2);
return(Result);
end ejercicioaT3;
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)
Respuesta:
create or replace function ejerciciobT3(Rutest in number, codlibro in number,fecha1
in date,fecha2 in date) return integer is
Result integer;
begin
select count (*)into Result
from estudiantes e,
prestamo p,
libros l
where p.rut_est = e.rut_est
and p.cod_libro = l.cod_libro
and e.rut_est = Rutest
and l.cod_libro = codlibro
and p.fecha_p > fecha1
and p.fecha_p < fecha2;
return(Result);
end ejerciciobT3;
4. III. DML (Insert-Update-Delete):
a) que permita agregar un estudiante
Respuesta:
Insert into estudiantes
(rut_est,nombres,apellidos,edad,fono,direccion,id_carrera)
Values (111122143,'daniel','martinez',23,87654456,'bilbao 3',2);
b) Que elimine el registro de un funcionario, teniendo como parámetro de entrada
su RUT.
Respuesta:
delete from funcionarios f
where f.rut_func = 87459535;
commit;
c) Que permita actualizar la información de un estudiante: EDAD, FONO,
DIRECCION, conociendo su RUT.
Respuesta:
UPDATE estudiantes e
SET e.edad = 1000,
e.fono = 123456565,
e.direccion = 'findelmundo 2012'
WHERE e.rut_est = 165640276;
commit;