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
                                                     Carla Núñez Benites

                     22/11/2012
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)

Laboratorio N° 2

  • 1.
    Universidad Austral deChile 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 Carla Núñez Benites 22/11/2012
  • 2.
    Actividades 1.- Realice lassiguientes 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')
  • 3.
    c) Que entreguelos 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')
  • 4.
    f) Los librosque 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.
  • 5.
    Se debe indicarque 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')
  • 6.
    3.- Se solicitaobtener 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
  • 7.
    and c.id_campus=u.id_campus and u.id_ciudad=d.id_ciudad GROUPBY 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)