laboratorio nº3 -vistas,funciones,dml

Post on 14-Jun-2015

711 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ADMI 273

Soledad Burgos

Pamela Luengo

30/05/2011

Tarea Nº3: Vistas, Funciones, DML

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

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;

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;

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;

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;

top related