laboratorio nº3 -vistas,funciones,dml
TRANSCRIPT
![Page 1: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/1.jpg)
ADMI 273
Soledad Burgos
Pamela Luengo
30/05/2011
Tarea Nº3: Vistas, Funciones, DML
![Page 2: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/2.jpg)
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.
create or replace view datos_estud as
select e.nombres as "nombre estudiante",
e.apellidos as "apellido estudiante",
e.rut_est as "rut estudiante",
c.nombre as "nombre carrera",
p.fecha_e as "fecha entrega",
p.fecha_p as "fecha prestamo",
l.cod_libro,
l.titulo,
l.agno as "Año",
ed.nombre as " edicion",
ed.pais,
a.nombres as "nombre autor",
a.apellidos as "apellido autor",
f.nombres as "nombre funcionario",
f.apellidos as "apellido funcionario",
f.rut_func as "rut funcionario",
b.biblioteca
from estudiantes e,
carreras c,
prestamo p,
libros l,
editoriales ed,
autores a,
funcionarios f,
biblioteca b
where e.id_carrera=c.id_carrera
and p.rut_est=e.rut_est
and l.cod_libro=p.cod_libro
and ed.id_edit=l.id_edit
and l.rut_autor=a.rut_autor
and f.rut_func=p.rut_func
and b.id_biblio=l.id_biblio
and p.fecha_e >='02/05/2011'
Datos que se van a
mostrar al ejecutar la
vista
Tablas de las que se
extraen los datos
Cruce de tablas
Condición de fecha
![Page 3: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/3.jpg)
Como se puede ver en la imagen, un total de 15 estudiantes tenían libros prestados hasta el
02/05/2011.
II. Funciones a) Que entregue el número de estudiante de las carreras de Ing. Comercial y Auditoría.
create or replace function alumnos_aud_com return integer is
Result integer;
begin
select count(*) into Result
from estudiantes
where estudiantes.id_carrera=1
or estudiantes.id_carrera=2;
return(Result);
end alumnos_aud_com;
![Page 4: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/4.jpg)
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)
create or replace function prestamos_estudiantes(rut in number, codigo in number, fecha_inicio in
date, fecha_termino in date) return integer is
Result integer ;
begin
select count(*) into result
from estudiantes e,
prestamo p
where e.rut_est=p.rut_est
and p.fecha_p=fecha_inicio
or p.fecha_p=fecha_termino
and e.rut_est=rut
and p.cod_libro=codigo;
return(Result);
end prestamos_estudiantes;
![Page 5: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/5.jpg)
III. DML (Insert-Update-Delete) a) Que permita agregar un estudiante.
b) Que elimine el registro de un funcionario, teniendo como parámetro de
entrada su RUT.
Insert into estudiantes (rut_est, nombres, apellidos, edad, fono, id_carrera)
values (1324534564, 'paulina', 'godoy', 34, 202020, 2);
commit;
Delete from funcionarios f
Where f.rut_func= 87459535;
Commit;
![Page 6: Laboratorio nº3 -vistas,funciones,dml](https://reader038.vdocuments.co/reader038/viewer/2022100517/557d38fbd8b42a447f8b4ad9/html5/thumbnails/6.jpg)
c) Que permita actualizar la información de un estudiante: EDAD, FONO, DIRECCION,
conociendo su RUT.
update estudiantes e
set e.edad=25,
e.fono=252525,
e.direccion= 'calle la loca 666'
where e.rut_est=165640276;
commit;