Sistemas de Información Empresarial
        GUIA DE LABORATORIO: PLSQL


          Profesor: Cristian Salazar C.
        P. Ayudante: José Luis Carrasco
         Estudiante: Maruly Miranda
                      Regina Madrid
REALICE LAS SIGUIENTES VISTAS
A) Estudiantes que son de Ingeniería Comercial (Nombre y Apellido del estudiante, Nombre de la carrera y Nombre del campus)
SELECT e.nombres, e.apellidos, c.nombre, cs.nombre
FROM estudiantes e, carreras c, campus cs
WHERE e.id_carrera=c.id_carrera
AND cs.id_campus=c.id_campus
AND c.nombre = 'ING. COMERCIAL';




 B) Estudiantes que son de Auditoria ((Nombre y Apellido del estudiante, Nombre de la carrera y Nombre del campus)


SELECT e.nombres, e.apellidos, c.nombre, cs.nombre
FROM estudiantes e, carreras c, campus cs
WHERE e.id_carrera=c.id_carrera
AND cs.id_campus=c.id_campus
AND c.nombre = 'AUDITORIA';
C) Estudiantes que se atrasaron con la entrega de libros (Rut, Nombres, Apellidos, Fono)

 SELECT e.rut_est, 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 > '22/04/2012';




D) Cantidad de libros prestados

 SELECT COUNT (*)
 FROM prestamo
 WHERE fecha_p <= sysdate;

E) Libros de editoriales extranjeras (Código, Titulo, Año y País de origen)

 SELECT a.cod_libro, a.titulo, a.agno, b.pais
 FROM libros a, editoriales b
 WHERE a.id_edit=b.id_edit
 AND b.pais <> 'Chile';
F) Libros que son de reserva (Código, Titulo y Año del libro, Nombre de la biblioteca, Nombre y Apellido del autor, nombre de la editorial y el País.

                      SELECT L.COD_LIBRO, L.TITULO, L.AGNO AS AÑO, B.BIBLIOTECA, A.NOMBRES, A.APELLIDOS,
                      ED.NOMBRE AS EDITORIAL, ED.PAIS, T.TIPO_P
                      FROM LIBROS L, BIBLIOTECA B, AUTORES A, EDITORIALES ED, TIPO T
                      WHERE A.RUT_AUTOR=L.RUT_AUTOR
                      AND ED.ID_EDIT=L.ID_EDIT
                      AND B.ID_BIBLIO=L.ID_BIBLIO
                      AND T.ID_TIPO=L.ID_TIPO
                      AND T.TIPO_P='RESERVA';
1) .-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 CODIGO, TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITOR y su PAIS,
                                                                                                                            IAL
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.




SELECT a.rut_est, a.nombres, a.apellidos, b.nombre AS Carrera, c.nombre AS Campus, d.cod_libro, d.titulo, d.agno AS Año,
e.nombres, e.apellidos, f.pais, f.nombre AS Editorial,g.tipo_p AS Tipo, h.nombres, h.apellidos, h.rut_func, i.fecha_e,
i.fecha_p
FROM estudiantes a, carreras b, campus c, libros d, autores e, editoriales f, tipo g, funcionarios h, prestamo i,
biblioteca j
WHERE a.id_carrera=b.id_carrera                 AND d.id_biblio=j.id_biblio
AND a.rut_est=i.rut_est                         AND d.id_tipo=g.id_tipo
AND e.rut_autor=d.rut_autor                     AND f.id_edit=d.id_edit
AND d.cod_libro=i.cod_libro                     AND b.id_campus=c.id_campus
AND h.rut_func=i.rut_func                       AND i.fecha_p>'17/04/2012'
                                                AND c.nombre='ISLA TEJA';
3.- Se solicita obtener lo siguiente (consultas):

     a) El numero de Estudiantes por Carrera.

SELECT COUNT (E.RUT_EST) AS CANTIDAD_ESTUDIANTES, C.NOMBRE AS CARRERA
FROM ESTUDIANTES E, CARRERAS C
WHERE C.ID_CARRERA=E.ID_CARRERA
GROUP BY C.NOMBRE
ORDER BY C.NOMBRE ASC;




     b) El numero de Estudiantes por Campus
SELECT COUNT (E.RUT_EST) AS CANTIDAD_ESTUDIANTES, CS.NOMBRE AS CAMPUS
FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS
WHERE C.ID_CARRERA=E.ID_CARRERA
AND CS.ID_CAMPUS=C.ID_CAMPUS
GROUP BY CS.NOMBRE
ORDER BY CS.NOMBRE ASC;


     c) El numero de Estudiantes por Ciudad

SELECT COUNT (E.RUT_EST), CD.NOMBRE
FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS, CIUDAD CD
WHERE E.ID_CARRERA=C.ID_CARRERA
AND CS.ID_CAMPUS=C.ID_CAMPUS
AND CD.ID_CIUDAD=CS.ID_CIUDAD
GROUP BY CD.NOMBRE;
d) El numero de Préstamos atrasados
SELECT COUNT (*) AS LIBROS_ATRASADOS
FROM PRESTAMO P
WHERE P.FECHA_E > '18/04/2012';

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


SELECT COUNT(P.FECHA_E) AS NUMERO_PRESTAMOS_ACTIVOS
FROM PRESTAMO P
WHERE P.FECHA_E > '20-04-2012';

Laboratorio 2

  • 1.
    Sistemas de InformaciónEmpresarial GUIA DE LABORATORIO: PLSQL Profesor: Cristian Salazar C. P. Ayudante: José Luis Carrasco Estudiante: Maruly Miranda Regina Madrid
  • 2.
    REALICE LAS SIGUIENTESVISTAS A) Estudiantes que son de Ingeniería Comercial (Nombre y Apellido del estudiante, Nombre de la carrera y Nombre del campus) SELECT e.nombres, e.apellidos, c.nombre, cs.nombre FROM estudiantes e, carreras c, campus cs WHERE e.id_carrera=c.id_carrera AND cs.id_campus=c.id_campus AND c.nombre = 'ING. COMERCIAL'; B) Estudiantes que son de Auditoria ((Nombre y Apellido del estudiante, Nombre de la carrera y Nombre del campus) SELECT e.nombres, e.apellidos, c.nombre, cs.nombre FROM estudiantes e, carreras c, campus cs WHERE e.id_carrera=c.id_carrera AND cs.id_campus=c.id_campus AND c.nombre = 'AUDITORIA';
  • 3.
    C) Estudiantes quese atrasaron con la entrega de libros (Rut, Nombres, Apellidos, Fono) SELECT e.rut_est, 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 > '22/04/2012'; D) Cantidad de libros prestados SELECT COUNT (*) FROM prestamo WHERE fecha_p <= sysdate; E) Libros de editoriales extranjeras (Código, Titulo, Año y País de origen) SELECT a.cod_libro, a.titulo, a.agno, b.pais FROM libros a, editoriales b WHERE a.id_edit=b.id_edit AND b.pais <> 'Chile';
  • 4.
    F) Libros queson de reserva (Código, Titulo y Año del libro, Nombre de la biblioteca, Nombre y Apellido del autor, nombre de la editorial y el País. SELECT L.COD_LIBRO, L.TITULO, L.AGNO AS AÑO, B.BIBLIOTECA, A.NOMBRES, A.APELLIDOS, ED.NOMBRE AS EDITORIAL, ED.PAIS, T.TIPO_P FROM LIBROS L, BIBLIOTECA B, AUTORES A, EDITORIALES ED, TIPO T WHERE A.RUT_AUTOR=L.RUT_AUTOR AND ED.ID_EDIT=L.ID_EDIT AND B.ID_BIBLIO=L.ID_BIBLIO AND T.ID_TIPO=L.ID_TIPO AND T.TIPO_P='RESERVA';
  • 5.
    1) .-Se requiereobtener 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 CODIGO, TITULO y AÑO, el NOMBRE y APELLIDO del autor, la EDITOR y su PAIS, IAL 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. SELECT a.rut_est, a.nombres, a.apellidos, b.nombre AS Carrera, c.nombre AS Campus, d.cod_libro, d.titulo, d.agno AS Año, e.nombres, e.apellidos, f.pais, f.nombre AS Editorial,g.tipo_p AS Tipo, h.nombres, h.apellidos, h.rut_func, i.fecha_e, i.fecha_p FROM estudiantes a, carreras b, campus c, libros d, autores e, editoriales f, tipo g, funcionarios h, prestamo i, biblioteca j WHERE a.id_carrera=b.id_carrera AND d.id_biblio=j.id_biblio AND a.rut_est=i.rut_est AND d.id_tipo=g.id_tipo AND e.rut_autor=d.rut_autor AND f.id_edit=d.id_edit AND d.cod_libro=i.cod_libro AND b.id_campus=c.id_campus AND h.rut_func=i.rut_func AND i.fecha_p>'17/04/2012' AND c.nombre='ISLA TEJA';
  • 7.
    3.- Se solicitaobtener lo siguiente (consultas): a) El numero de Estudiantes por Carrera. SELECT COUNT (E.RUT_EST) AS CANTIDAD_ESTUDIANTES, C.NOMBRE AS CARRERA FROM ESTUDIANTES E, CARRERAS C WHERE C.ID_CARRERA=E.ID_CARRERA GROUP BY C.NOMBRE ORDER BY C.NOMBRE ASC; b) El numero de Estudiantes por Campus SELECT COUNT (E.RUT_EST) AS CANTIDAD_ESTUDIANTES, CS.NOMBRE AS CAMPUS FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS WHERE C.ID_CARRERA=E.ID_CARRERA AND CS.ID_CAMPUS=C.ID_CAMPUS GROUP BY CS.NOMBRE ORDER BY CS.NOMBRE ASC; c) El numero de Estudiantes por Ciudad SELECT COUNT (E.RUT_EST), CD.NOMBRE FROM ESTUDIANTES E, CARRERAS C, CAMPUS CS, CIUDAD CD WHERE E.ID_CARRERA=C.ID_CARRERA AND CS.ID_CAMPUS=C.ID_CAMPUS AND CD.ID_CIUDAD=CS.ID_CIUDAD GROUP BY CD.NOMBRE;
  • 8.
    d) El numerode Préstamos atrasados SELECT COUNT (*) AS LIBROS_ATRASADOS FROM PRESTAMO P WHERE P.FECHA_E > '18/04/2012'; e) El número de Prestamos Activos, No atrasados. SELECT COUNT(P.FECHA_E) AS NUMERO_PRESTAMOS_ACTIVOS FROM PRESTAMO P WHERE P.FECHA_E > '20-04-2012';