UNIVERSIDAD AUSTRAL DE CHILE
FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS
                    AUDITORÍA




 “Taller de Vistas en PLSQL”
                                                           Integrantes:
                                               Suyahai Calfueque Soto
                                               Alejandra Winter Ojeda
                                                           Asignatura:
                                               Sistemas de Información
                                                       Administrativos
                                                             Profesor:
                                                       Cristian Salazar
                                                            Ayudante:
                                                    José Luis Carrasco




           Valdivia, 19 de Noviembre de 2012
1. Que entregue los estudiantes que son de Ing. Comercial (NOMBRES y
   APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus).

   selecte.NOMBRES, e.APELLIDOS, c.NOMBRE, c.ID_CAMPUS
   from CARRERAS c, ESTUDIANTES e
   wheree.ID_CARRERA = c.ID_CARRERA
   andc.ID_CARRERA = 2

2. Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
   estudiante, NOMBRE de la carrera y NOMBRE del campus).

   selecte.NOMBRES, e.APELLIDOS, c.NOMBRE, c.ID_CAMPUS
   from CARRERAS c, ESTUDIANTES e
   wheree.ID_CARRERA = c.ID_CARRERA
   andc.ID_CARRERA = 1

3. Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
   NOMBRES, APELLIDOS y FONO).
   selecte.NOMBRES, e.APELLIDOS, P.Rut_Est, e.FONO
   from PRESTAMO P, ESTUDIANTES e
   where P.RUT_EST = e.RUT_EST
   andP.Fecha_e>P.Fecha_p

4. La cantidad de libros prestados.

   selectcount(*)
   from PRESTAMO

5. Los libros de editoriales extranjeras (CODIGO, TITULO , AÑO y PAIS de
   ORIGEN).

     selectl.COD_LIBRO, l.TITULO, l.AGNOAS AÑO, ed.ID_EDIT, ed.PAIS
     from LIBROS l, EDITORIALES ed
     whereed.id_edit = l.id_edit
     anded.PAIS<>'CHILE'
6. Los libros que son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE
      de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y
      el PAIS ).

      selectl.COD_LIBRO,    l.TITULO, l.AGNOAS    AÑO,    b.BIBLIOTECA,
      au.NOMBRES, au.APELLIDOS, ed.NOMBRE, ed.PAIS
      from BIBLIOTECA b, EDITORIALES ed, AUTORES au, LIBROS l, TIPO t
      wheret.TIPO_P = 'RESERVA'

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).

      CREATEVIEWdata_estudiantes
      AS
      (
      selecte.rut_est, e.nombres as est, e.apellidos as est_2, e.fono as fon_est, p.fecha_e
      fromestudiantes e, prestamo p
      wheree.rut_est=p.rut_est and p.fecha_e<sysdate



              Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además
              del NOMBRE de la carrera a la cual pertenece.

      CREATEVIEWLIST_EST_C.TEJA
      AS
      (
      SELECTe.NOMBRES, e.APELLIDOS, p.RUT_EST, c.NOMBRE
      FROM ESTUDIANTES e, PRESTAMO p, CAMPUS c
      WHEREp.Rut_Est = e.RUT_EST
      AND C.NOMBRE = 'ISLA TEJA')

       Para ver consulta ejecutar comando

      select *
      from EST_TEJA_CLIBROS
Además se debe entregar que 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.

CREATEVIEW EST_TEJA_CLIBROS
AS
(
Select
E.RUT_EST,E.NOMBRES,E.APELLIDOS,C.NOMBRE,L.COD_LIBRO,L.TITUL
O,L.AGNO,A.NOMBRES,A.APELLIDOS,ED.NOMBRE,ED.PAIS,B.BIBLIOTE
CA,T.TIPO_P
from ESTUDIANTES E, CARRERAS C,LIBROS L,AUTORES A,EDITORIALES
ED,BIBLIOTECA B,TIPO T)

        Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE
        y APELLIDO.

CREATEVIEWdata_relacion_func_prestamo
AS
(
selecte.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera,
l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre
as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario,
f.apellidos                                as                                 ape_funcio
from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t,
prestamo                         p,                   funcionarios                       f
wheree.id_carrera = c.id_carrera
ande.rut_est = p.rut_est
andl.cod_libro = p.cod_libro
andl.rut_autor = a.rut_autor
andl.id_edit = ed.id_edit
andl.id_biblio = b.id_biblio
andl.id_tipo = t.id_tipo
andf.rut_func = p.rut_func)
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.

       CREATEVIEWdata_relacion_funcionario_prestamo_fecha_P_E
       AS
       (
       selecte.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera,
       l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre
       as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario,
       f.apellidos as ape_funcio, p.fecha_p as prest_fecha, p.fecha_e as entrega
       from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t,
       prestamo p, funcionarios f
       wheree.id_carrera = c.id_carrera
       ande.rut_est = p.rut_est
       andl.cod_libro = p.cod_libro
       andl.rut_autor = a.rut_autor
       andl.id_edit = ed.id_edit
       andl.id_biblio = b.id_biblio
       andl.id_tipo = t.id_tipo
       andf.rut_func = p.rut_func)


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


       a) El numero de Estudiantes por Carrera.

       Createviewestudiantes_por_carrera
       selectci.id_ciudad, count(e.rut_est)
       fromestudiantes e, ciudad ci
       groupbyci.id_ciudad

       b) El numero de Estudiantes por Campus

       Createviewestudiantes_por_campus
       selectcc.id_campus, count(e.rut_est)
       from estudiantes e, campus cc
       group by cc.id_campus
c) El numero de Estudiantes por Ciudad

Createviewestudiantes_por_ciudad
selectci.id_ciudad, count(e.rut_est)
from estudiantes e, ciudad ci
group by ci.id_ciudad

d) El numero de Préstamos atrasados

Create view prestamos_atrasados
selectfecha_e, count(fecha_p)
from prestamo
group by fecha_e having fecha_e<sysdate

e) El número de Prestamos Activos, No atrasados.

Createviewprestamos_activos_no_atrasados
selectfecha_e, count(fecha_p)
from prestamo
group by fecha_e
having fecha_e>sysdate

Tarea ahora

  • 1.
    UNIVERSIDAD AUSTRAL DECHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS AUDITORÍA “Taller de Vistas en PLSQL” Integrantes: Suyahai Calfueque Soto Alejandra Winter Ojeda Asignatura: Sistemas de Información Administrativos Profesor: Cristian Salazar Ayudante: José Luis Carrasco Valdivia, 19 de Noviembre de 2012
  • 2.
    1. Que entreguelos estudiantes que son de Ing. Comercial (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). selecte.NOMBRES, e.APELLIDOS, c.NOMBRE, c.ID_CAMPUS from CARRERAS c, ESTUDIANTES e wheree.ID_CARRERA = c.ID_CARRERA andc.ID_CARRERA = 2 2. Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). selecte.NOMBRES, e.APELLIDOS, c.NOMBRE, c.ID_CAMPUS from CARRERAS c, ESTUDIANTES e wheree.ID_CARRERA = c.ID_CARRERA andc.ID_CARRERA = 1 3. Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT, NOMBRES, APELLIDOS y FONO). selecte.NOMBRES, e.APELLIDOS, P.Rut_Est, e.FONO from PRESTAMO P, ESTUDIANTES e where P.RUT_EST = e.RUT_EST andP.Fecha_e>P.Fecha_p 4. La cantidad de libros prestados. selectcount(*) from PRESTAMO 5. Los libros de editoriales extranjeras (CODIGO, TITULO , AÑO y PAIS de ORIGEN). selectl.COD_LIBRO, l.TITULO, l.AGNOAS AÑO, ed.ID_EDIT, ed.PAIS from LIBROS l, EDITORIALES ed whereed.id_edit = l.id_edit anded.PAIS<>'CHILE'
  • 3.
    6. Los librosque son de reserva (CODIGO, TITULO y AÑO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ). selectl.COD_LIBRO, l.TITULO, l.AGNOAS AÑO, b.BIBLIOTECA, au.NOMBRES, au.APELLIDOS, ed.NOMBRE, ed.PAIS from BIBLIOTECA b, EDITORIALES ed, AUTORES au, LIBROS l, TIPO t wheret.TIPO_P = 'RESERVA' 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). CREATEVIEWdata_estudiantes AS ( selecte.rut_est, e.nombres as est, e.apellidos as est_2, e.fono as fon_est, p.fecha_e fromestudiantes e, prestamo p wheree.rut_est=p.rut_est and p.fecha_e<sysdate Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece. CREATEVIEWLIST_EST_C.TEJA AS ( SELECTe.NOMBRES, e.APELLIDOS, p.RUT_EST, c.NOMBRE FROM ESTUDIANTES e, PRESTAMO p, CAMPUS c WHEREp.Rut_Est = e.RUT_EST AND C.NOMBRE = 'ISLA TEJA') Para ver consulta ejecutar comando select * from EST_TEJA_CLIBROS
  • 4.
    Además se debeentregar que 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. CREATEVIEW EST_TEJA_CLIBROS AS ( Select E.RUT_EST,E.NOMBRES,E.APELLIDOS,C.NOMBRE,L.COD_LIBRO,L.TITUL O,L.AGNO,A.NOMBRES,A.APELLIDOS,ED.NOMBRE,ED.PAIS,B.BIBLIOTE CA,T.TIPO_P from ESTUDIANTES E, CARRERAS C,LIBROS L,AUTORES A,EDITORIALES ED,BIBLIOTECA B,TIPO T) Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO. CREATEVIEWdata_relacion_func_prestamo AS ( selecte.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera, l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario, f.apellidos as ape_funcio from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t, prestamo p, funcionarios f wheree.id_carrera = c.id_carrera ande.rut_est = p.rut_est andl.cod_libro = p.cod_libro andl.rut_autor = a.rut_autor andl.id_edit = ed.id_edit andl.id_biblio = b.id_biblio andl.id_tipo = t.id_tipo andf.rut_func = p.rut_func)
  • 5.
    Además deberá indicarsela 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. CREATEVIEWdata_relacion_funcionario_prestamo_fecha_P_E AS ( selecte.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrera, l.cod_libro, l.titulo, l.agno, a.nombres as autor, a.apellidos as ape_autor, ed.nombre as edit, ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres as funcionario, f.apellidos as ape_funcio, p.fecha_p as prest_fecha, p.fecha_e as entrega from estudiantes e, carreras c, libros l, autores a, editoriales ed, biblioteca b, tipo t, prestamo p, funcionarios f wheree.id_carrera = c.id_carrera ande.rut_est = p.rut_est andl.cod_libro = p.cod_libro andl.rut_autor = a.rut_autor andl.id_edit = ed.id_edit andl.id_biblio = b.id_biblio andl.id_tipo = t.id_tipo andf.rut_func = p.rut_func) 3.- Se solicita obtener lo siguiente (consultas): a) El numero de Estudiantes por Carrera. Createviewestudiantes_por_carrera selectci.id_ciudad, count(e.rut_est) fromestudiantes e, ciudad ci groupbyci.id_ciudad b) El numero de Estudiantes por Campus Createviewestudiantes_por_campus selectcc.id_campus, count(e.rut_est) from estudiantes e, campus cc group by cc.id_campus
  • 6.
    c) El numerode Estudiantes por Ciudad Createviewestudiantes_por_ciudad selectci.id_ciudad, count(e.rut_est) from estudiantes e, ciudad ci group by ci.id_ciudad d) El numero de Préstamos atrasados Create view prestamos_atrasados selectfecha_e, count(fecha_p) from prestamo group by fecha_e having fecha_e<sysdate e) El número de Prestamos Activos, No atrasados. Createviewprestamos_activos_no_atrasados selectfecha_e, count(fecha_p) from prestamo group by fecha_e having fecha_e>sysdate