Sei sulla pagina 1di 10

Universidad Austral de Chile. Facultad de Ciencias Econmicas y Administrativas Escuela Ingeniera Comercial Sistemas de Informacin Empresarial.

TRABAJO PRACTICO
PL/SQL
Profesor: Ayudante: Alumnas: Cristian Salazar C. Jos L. Carrasco. Montserrat Oliva V.

Valdivia, 30 de abril de 2012.

ACTIVIDAD: Supuestos: La base de datos no guarda el histrico de los prstamos realizados, es decir, que al entregar un libro, ese prstamo se elimina de la tabla PRESTAMO. Y las consultas relacionadas con la fecha, se tomo el 23 de abril del 2012. 1.- Realice las siguientes vistas: a) Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). Consulta SQL selecte.nombres, e.apellidos, c.nombre, cc.nombre from estudiantes e, carreras c, campus cc wherec.id_carrera = e.id_carrera andcc.id_campus = c.id_campus andc.nombre = 'ING. COMERCIAL'; Resultado

b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). Consulta SQL selecte.nombres, e.apellidos, c.nombre, cc.nombre from estudiantes e, carreras c, campus cc wherec.id_carrera = e.id_carrera andcc.id_campus = c.id_campus andc.nombre = 'AUDITORIA'; Resultado

c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES, APELLIDOS y FONO). CONSULTA SQL selecte.nombres, e.apellidos, e.rut_est, e.fono from estudiantes e, prestamo p wherefecha_e<sysdate ande.rut_est = p.rut_est; Resultado

d) La cantidad de libros prestados. Consulta SQL selectcount(cod_libro) as "libros prestados" from PRESTAMO; Resultado e) Los libros de editoriales extranjeras (CODIGO, TITULO, AO y PAIS de ORIGEN). Consulta SQL selectl.cod_libro, l.titulo, l.agnoas "ao", e.paisas "pais de origen" from libros l, editoriales e wheree.id_edit = l.id_edit ande.pais<>'CHILE'; Resultado

f) Los libros que son de reserva (CODIGO, TITULO y AO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS). Consulta SQL selectl.cod_libro, l.titulo, l.agnoas "ao", b.biblioteca, a.nombres, a.apellidos, e.nombre, e.pais from libros l, biblioteca b, autores a, editoriales e, tipo t whereb.id_biblio = l.id_biblio anda.rut_autor = l.rut_autor ande.id_edit = l.id_edit andt.id_tipo = l.id_tipo andtipo_p = 'RESERVA'; Resultado

2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente

(Vista). Se solicita: Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no). Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, adems del NOMBRE de la carrera a la cual pertenece. Adems se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AO, 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 transaccin, con RUT, NOMBRE y APELLIDO. Adems deber indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de ste. NOTA: deber aadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la carrera para diferenciarlos. Consulta SQL selecte.nombres, e.apellidos, e.rut_est, cc.nombreascarrera, c.nombreas campus, l.cod_libro, l.titulo, l.agnoas AO, a.nombresasnombre_autor, a.apellidosasapellido_autor, ee.nombreas editorial, ee.pais, b.biblioteca, t.tipo_pastipo, f.nombresasnombre_func, f.apellidosasapellido_func, f.rut_func, p.fecha_easentrega, p.fecha_pasprestamo fromestudiantes e, campus c, prestamo p, carreras cc, libros l, autores a, editorialesee, biblioteca b, tipo t, funcionarios f wherecc.id_carrera = e.id_carrera andc.id_campus = cc.id_campus ande.rut_est = p.rut_est andc.nombre = 'ISLA TEJA' andl.cod_libro = p.cod_libro anda.rut_autor = l.rut_autor andee.id_edit = l.id_edit andb.id_biblio = l.id_biblio andt.id_tipo = l.id_tipo andf.rut_func = p.rut_func; view select * fromdatos_prestamo;

3.- Se solicita obtener lo siguiente (consultas):


a) El numero de Estudiantes por Carrera. Consulta SQL selectc.nombreascarrera, count(rut_est) asnumero_est fromcarreras c, estudiantes e wherec.id_carrera = e.id_carrera groupbyc.nombre; Resultado

b) El numero de Estudiantes por Campus

Consulta SQL selectc.nombreas campus, count(rut_est) asnumero_est from campus c, estudiantes e, carreras cc wherecc.id_carrera = e.id_carrera andc.id_campus = cc.id_campus groupbyc.nombre; Resultado

c) El numero de Estudiantes por Ciudad Consulta SQL selectc.nombreas ciudad, count(rut_est) asnumero_est from ciudad c, estudiantes e, carreras cc, campus ccc wherecc.id_carrera = e.id_carrera andccc.id_campus = cc.id_campus andc.id_ciudad = ccc.id_ciudad groupbyc.nombre;

Resultado

d) El numero de Prstamos atrasados

Consulta SQL selectcount(cod_libro) asprestamos_atrasados fromprestamo wherefecha_e<sysdate;

Resultado

e) El nmero de Prstamos Activos, No atrasados. Consulta SQL selectcount(cod_libro) asprestamos_no_atrasados fromprestamo wherefecha_e>= sysdate;

Resultado

Potrebbero piacerti anche