Laboratorio N° 2
-
Upload
carla-fernanda -
Category
Documents
-
view
151 -
download
3
description
Transcript of Laboratorio N° 2
Universidad Austral de Chile
Facultad de Ciencias Económicas y Administrativas Escuela de Auditoria
Contador Auditor
Laboratorio N° 2 Ayudantía de Sistemas de Información Administrativos
Profesor Responsable: Cristian Salazar
Ayudante: Jose Luis Carrasco
2 2 / 1 1 / 2 0 1 2
Carla Núñez Benites
Actividades
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).
CREATE VIEW comercial AS (
SELECT e.nombres, e.apellidos, c.nombre as carrera, u.nombre as campus
FROM estudiantes e, carreras c, campus u
WHERE c.id_carrera=e.id_carrera
and u.id_campus=c.id_campus
and c.nombre=' ING. COMERCIAL’)
b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus).
CREATE VIEW auditoria AS (
SELECT e.nombres, e.apellidos, c.nombre as carrera, u.nombre as campus
FROM estudiantes e, carreras c, campus u
WHERE c.id_carrera=e.id_carrera
and u.id_campus=c.id_campus
and c.nombre='AUDITORIA')
c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT,
NOMBRES, APELLIDOS y FONO).
CREATE VIEW atraso_libros AS (
SELECT e. rut_est as rut, e.nombres, e.apellidos, e.fono, p.fecha_e
FROM estudiantes e, prestamo p
WHERE e.rut_est=p.rut_est
and p.fecha_e >sysdate)
d) La cantidad de libros prestados.
CREATE VIEW cantidad_prestamos AS (
SELECT count(*)
FROM prestamo)
e) Los libros de editoriales extranjeras (CÓDIGO, TÍTULO , AÑO y PAÍS de ORIGEN).
CREATE VIEW editorials_extrangeras AS (
SELECT l.cod_libro, l.titulo, l.agno, e.pais
FROM libros l, editoriales e
WHERE l.id_edit=e.id_edit
and r.pais<>'CHILE')
f) Los libros que son de reserva (CÓDIGO, TITULO y AÑO del LIBRO, NOMBRE de la
biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAÍS).
CREATE VIEW libros_reserva AS (
SELECT l.cod_libro as codigo, l.titulo, l.agno as año, b.biblioteca, a.nombres, a.apellidos,
r.nombre, r.pais
FROM libros l, biblioteca b, autores a, editoriales r, tipo t
WHERE l.id_biblio=b.id_biblio
and l.id_tipo=t.id_tipo
and l.rut_autor=a.rut_autor
and l.id_edit = r.id_edit
and t.tipo_p ='RESERVA')
NOTA: Todo esto bajo el supuesto que la base de datos no guarda el historial de los
préstamos realizados anteriormente ( se elimina de la tabla préstamo cuando éste se
devuelve).
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, además del
NOMBRE de la carrera a la cual pertenece.
Además se debe entregar que libro tiene prestado, indicando CÓDIGO, TITULO y AÑO,
el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAÍS, 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 PRÉSTAMO 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 VIEW prestamos_alumnos_teja AS (
SELECT e.nombres, e.apellidos, e.rut_est as rut, c.nombre as carrera, u.nombre as campus,
l.cod_libro, l.titulo, l.agno as año, a.nombres as nombre_autor, a.apellidos as apellido_autor,
r.nombre as editorial, r.pais, b.biblioteca, t.tipo_p, f.nombres as nombre_funcionario, f.apellidos
as apellido_funcionario, f.rut_func, p.fecha_p as prestado, p.fecha_e as entregado
FROM estudiantes e, carreras c, campus u, libros l, autores a, editoriales r, biblioteca b, tipo t,
funcionarios f, prestamo p
WHERE p.rut_est=e.rut_est
and c.id_campus=u.id_campus
and u.id_campus=f.id_campus
and f.rut_func=p.rut_func
and c.id_carrera=e.id_carrera
and p.cod_libro=l.cod_libro
and l.id_biblio=b.id_biblio
and l.id_tipo=t.id_tipo
and l.rut_autor=a.rut_autor
and l.id_edit = r.id_edit
and u.nombre='ISLA TEJA')
3.- Se solicita obtener lo siguiente (vistas):
a) El numero de Estudiantes por Carrera.
CREATE VIEW estudiantesxcarrera AS (
SELECT c.nombre, count(rut_est)as estudiantes
FROM estudiantes e, carreras c
WHERE e.id_carrera=c.id_carrera
GROUP BY c.nombre
ORDER BY c.nombre asc)
b) El numero de Estudiantes por Campus
CREATE VIEW estudiantesxcampus AS (
SELECT u.nombre as campus, count(e.rut_est)as estudiantes
FROM estudiantes e, campus u, carreras c
WHERE e.id_carrera=c.id_carrera
and c.id_campus=u.id_campus
GROUP BY u.nombre)
c) El numero de Estudiantes por Ciudad
CREATE VIEW estudiantesxciudad AS (
SELECT d.nombre as ciudad, count(e.rut_est)as estudiantes
FROM estudiantes e, campus u, carreras c, ciudad d
WHERE e.id_carrera=c.id_carrera
and c.id_campus=u.id_campus
and u.id_ciudad=d.id_ciudad
GROUP BY d.nombre)
d) El numero de Préstamos atrasados
CREATE VIEW prestamos_atrasados AS (
SELECT count(fecha_e)as prestamos_atrasados
FROM prestamo
WHERE fecha_e<sysdate)
e) El número de Prestamos Activos, No atrasados.
CREATE VIEW prestamos_activos AS (
SELECT count(fecha_e)as prestamos_activos
FROM prestamo
WHERE fecha_e>sysdate)