SlideShare una empresa de Scribd logo
UNIVERSIDAD AUSTRAL DE CHILE
FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS
           INSTITUTO DE ADMINISTRACIÓN
                      ADMI 273




            Laboratorio 2
   ORACLE – PL/SQL




                                    Alumnos:
                                            Patricio Gómez
                                            Juan Pablo Neira
                                            Nicolas Klocker
Actividades

Supuestos: La base de datos no guarda el histórico de los préstamos realizados, es decir,
que al entregar un libro, ese préstamo se elimina de la tabla PRESTAMO.

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

La consulta realizada para obtener dicha información es la siguiente:

select e.nombres, e.apellidos, car.nombre, cam.nombre
from estudiantes e, carreras car, campus cam
where car.nombre='ING. COMERCIAL'
and cam.id_campus=car.id_campus
and car.id_carrera=e.id_carrera;

Parte de la tabla que se genera de esta consulta es la siguiente:




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

La consulta realizada para obtener dicha información es la siguiente:

select e.nombres, e.apellidos, car.nombre, cam.nombre
from estudiantes e, carreras car, campus cam
where car.nombre='AUDITORIA'
and cam.id_campus=car.id_campus
and car.id_carrera=e.id_carrera;

Parte de la tabla que se genera de esta consulta es la siguiente:
c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT,
       NOMBRES, APELLIDOS, FONO).

La consulta realizada para obtener dicha información es la siguiente:

select e.nombres, e.apellidos, e.fono, e.rut_est, p.fecha_p, p.fecha_e
from estudiantes e, prestamo p
where e.rut_est=p.rut_est
and p.fecha_e<sysdate;

Parte de la tabla que se genera de esta consulta es la siguiente:




    d) La cantidad de libros prestados.

La consulta realizada para obtener dicha información es la siguiente:

select count(*)
from prestamo;

La tabla que se genera de esta consulta es la siguiente:




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

La consulta realizada para obtener dicha información es la siguiente:

select l.cod_libro, l.titulo, l.agno, ed.pais
from libros l, editoriales ed
where ed.pais<>'CHILE'
and ed.id_edit=l.id_edit;

Parte de la tabla que se genera de esta consulta es la siguiente:




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

La consulta realizada para obtener dicha información es la siguiente:

select l.cod_libro, l.titulo, l.agno, b.biblioteca, a.nombres, a.apellidos, ed.nombre, ed.pais,
t.tipo_p
from libros l, biblioteca b, autores a, editoriales ed, tipo t
where t.tipo_p='RESERVA'
and t.id_tipo=l.id_tipo
and b.id_biblio=l.id_biblio
and ed.id_edit=l.id_edit
and a.rut_autor=l.rut_autor;

Parte de la tabla que se genera de esta consulta es la siguiente:
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, NOMBRES y APELLIDOS del estudiante, además del
       NOMBRE de la carrera a la cual pertenece.
   -   Además se debe entregar qué libro tiene prestado, indicando CODIGO, TITULO y
       AÑO, el NOMBRE y APELLIDOS del autor, la EDITORIAL y su PAIS, indicar en
       qué biblioteca se encuentra, y de qué tipo es.
   -   Se debe indicar qué funcionario realizó 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.

La consulta realizada para obtener dicha información es la siguiente:

select e.nombres AS "Nombre Estudiante",
         e.apellidos AS "Apellido Estudiante",
         e.rut_est, c.nombre AS "Carrera",
         l.cod_libro,
         l.titulo,
         l.agno AS "Año",
         a.nombres AS "Nombre Autor",
         a.apellidos AS "Apellido Autor",
         ed.nombre AS "Editorial",
         ed.pais,
         b.biblioteca,
         t.tipo_p,
         f.rut_func,
         f.nombres AS "Nombre Funcionario",
         f.apellidos AS "Apellido Funcionario",
         p.fecha_p,
         p.fecha_e
from estudiantes e, carreras c, campus cam, libros l, autores a, editoriales ed, biblioteca
b, tipo t, funcionarios f, prestamo p
where cam.nombre='ISLA TEJA'
and c.id_carrera=e.id_carrera
and cam.id_campus=c.id_campus
and l.cod_libro=p.cod_libro
and f.rut_func=p.rut_func
and e.rut_est=p.rut_est
and t.id_tipo=l.id_tipo
and a.rut_autor=l.rut_autor
and ed.id_edit=l.id_edit
and b.id_biblio=l.id_biblio
and p.fecha_e<=sysdate;




Parte de la tabla que se genera de esta consulta es la siguiente:




   3. Se solicita obtener lo siguiente (consultas):

   a) El número de estudiantes por carrera.

La consulta realizada para obtener dicha información es la siguiente:

select c.nombre, count (e.rut_est)AS "Nro Estudiantes"
from carreras c, estudiantes e
where c.id_carrera=e.id_carrera
group by c.nombre;
La tabla que se genera de esta consulta es la siguiente:




   b) El número de estudiantes por campus.

La consulta realizada para obtener dicha información es la siguiente:

select cam.nombre, count (e.rut_est) AS "Nro Estudiantes"
from campus cam, estudiantes e, carreras c
where cam.id_campus=c.id_campus
and c.id_carrera=e.id_carrera
group by cam.nombre;

La tabla que se genera de esta consulta es la siguiente:




   c) El número de estudiantes por ciudad.

La consulta realizada para obtener dicha información es la siguiente:

select ci.nombre, count (e.rut_est) AS "Nro Estudiantes"
from campus cam, estudiantes e, carreras c, ciudad ci
where cam.id_campus=c.id_campus
and c.id_carrera=e.id_carrera
and ci.id_ciudad=cam.id_ciudad
group by ci.nombre;
La tabla que se genera de esta consulta es la siguiente:




   d) El número de préstamos atrasados.

La consulta realizada para obtener dicha información es la siguiente:

select count (p.fecha_e) AS "Nro Prestamos Atrasados"
from prestamo p
where p.fecha_e<sysdate;

La tabla que se genera de esta consulta es la siguiente:




   e) El número de préstamos activos, no atrasados.

La consulta realizada para obtener dicha información es la siguiente:

select count (p.fecha_e) AS "Nro prestamos activos"
from prestamo p
where p.fecha_e>=sysdate;

La tabla que se genera de esta consulta es la siguiente:

Más contenido relacionado

DOC
Laboratorio n° 1
DOCX
Primer Informe Ayudantía
PDF
Actividad 1 Ayudantia. Consultas y Vistas
DOC
Primer Informe sistemas
DOCX
Laboratorio 2
DOCX
Laboratorio 2
DOCX
Laboratorio sia 2 (1)
DOCX
Laboratorio 1
Laboratorio n° 1
Primer Informe Ayudantía
Actividad 1 Ayudantia. Consultas y Vistas
Primer Informe sistemas
Laboratorio 2
Laboratorio 2
Laboratorio sia 2 (1)
Laboratorio 1

La actualidad más candente (14)

DOCX
Tarea 1
PDF
Laboratorio N° 2
DOCX
Laboratorio Nº 2 SIA
DOCX
Laboratorio 2
DOCX
Tarea sia 30-04-12
DOCX
Laboratorio 2 (1)
DOCX
DOCX
Trabajo ayudantía
DOCX
Laboratorio n 2 (1)
PDF
Laboratorio N° 2
PDF
Ayudantia 2 sia
DOCX
Laboratorio 2
DOCX
Laboratorio n 2
DOCX
Laboratorio número ii
Tarea 1
Laboratorio N° 2
Laboratorio Nº 2 SIA
Laboratorio 2
Tarea sia 30-04-12
Laboratorio 2 (1)
Trabajo ayudantía
Laboratorio n 2 (1)
Laboratorio N° 2
Ayudantia 2 sia
Laboratorio 2
Laboratorio n 2
Laboratorio número ii
Publicidad

Similar a Lab 2 (17)

DOCX
Laboratorio SIA - 2
PDF
PDF
PPT
DOCX
Laboratorio 2 - ayudantia
DOCX
Tarea sia 30-04-12
DOCX
Laboratorio 2
DOCX
Trabajo ayudantia
PDF
Ayudantia 2 sia
PDF
Tarea consultas ayudantia 23 del 4
PDF
Consultas en oracle
PDF
Laboratorio nº2
PDF
Laboratorio nº2
DOCX
Trabajo sistemas
PDF
Laboratorio
DOCX
Laboratorio SIA
DOCX
Laboratorio 2 SIA
Laboratorio SIA - 2
Laboratorio 2 - ayudantia
Tarea sia 30-04-12
Laboratorio 2
Trabajo ayudantia
Ayudantia 2 sia
Tarea consultas ayudantia 23 del 4
Consultas en oracle
Laboratorio nº2
Laboratorio nº2
Trabajo sistemas
Laboratorio
Laboratorio SIA
Laboratorio 2 SIA
Publicidad

Más de jpneiram (8)

DOCX
MultiTelas
DOCX
Lab3
DOCX
Laboratorio N°1 de Sistemas de Información
DOCX
Resumen de texto Esmerald sobre las "Teorías E y O".
DOCX
Modelo E-R y tablas en Microsoft Visio.
DOCX
Ejemplos de funciones aplicadas en el Modelo SQL.
DOCX
Ensayo sobre la gestión del conocimiento
DOCX
Recursos que intervienen en la organización.
MultiTelas
Lab3
Laboratorio N°1 de Sistemas de Información
Resumen de texto Esmerald sobre las "Teorías E y O".
Modelo E-R y tablas en Microsoft Visio.
Ejemplos de funciones aplicadas en el Modelo SQL.
Ensayo sobre la gestión del conocimiento
Recursos que intervienen en la organización.

Lab 2

  • 1. UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS INSTITUTO DE ADMINISTRACIÓN ADMI 273 Laboratorio 2 ORACLE – PL/SQL Alumnos: Patricio Gómez Juan Pablo Neira Nicolas Klocker
  • 2. Actividades Supuestos: La base de datos no guarda el histórico de los préstamos realizados, es decir, que al entregar un libro, ese préstamo se elimina de la tabla PRESTAMO. 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). La consulta realizada para obtener dicha información es la siguiente: select e.nombres, e.apellidos, car.nombre, cam.nombre from estudiantes e, carreras car, campus cam where car.nombre='ING. COMERCIAL' and cam.id_campus=car.id_campus and car.id_carrera=e.id_carrera; Parte de la tabla que se genera de esta consulta es la siguiente: b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus). La consulta realizada para obtener dicha información es la siguiente: select e.nombres, e.apellidos, car.nombre, cam.nombre from estudiantes e, carreras car, campus cam where car.nombre='AUDITORIA' and cam.id_campus=car.id_campus and car.id_carrera=e.id_carrera; Parte de la tabla que se genera de esta consulta es la siguiente:
  • 3. c) Que entregue los estudiantes que se atrasaron en la entrega de los libros (RUT, NOMBRES, APELLIDOS, FONO). La consulta realizada para obtener dicha información es la siguiente: select e.nombres, e.apellidos, e.fono, e.rut_est, p.fecha_p, p.fecha_e from estudiantes e, prestamo p where e.rut_est=p.rut_est and p.fecha_e<sysdate; Parte de la tabla que se genera de esta consulta es la siguiente: d) La cantidad de libros prestados. La consulta realizada para obtener dicha información es la siguiente: select count(*) from prestamo; La tabla que se genera de esta consulta es la siguiente: e) Los libros de editoriales extranjeras (CODIGO, TITULO, AÑO y PAIS de origen). La consulta realizada para obtener dicha información es la siguiente: select l.cod_libro, l.titulo, l.agno, ed.pais from libros l, editoriales ed
  • 4. where ed.pais<>'CHILE' and ed.id_edit=l.id_edit; Parte de la tabla que se genera de esta consulta es la siguiente: f) 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). La consulta realizada para obtener dicha información es la siguiente: select l.cod_libro, l.titulo, l.agno, b.biblioteca, a.nombres, a.apellidos, ed.nombre, ed.pais, t.tipo_p from libros l, biblioteca b, autores a, editoriales ed, tipo t where t.tipo_p='RESERVA' and t.id_tipo=l.id_tipo and b.id_biblio=l.id_biblio and ed.id_edit=l.id_edit and a.rut_autor=l.rut_autor; Parte de la tabla que se genera de esta consulta es la siguiente:
  • 5. 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, NOMBRES y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece. - Además se debe entregar qué libro tiene prestado, indicando CODIGO, TITULO y AÑO, el NOMBRE y APELLIDOS del autor, la EDITORIAL y su PAIS, indicar en qué biblioteca se encuentra, y de qué tipo es. - Se debe indicar qué funcionario realizó 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. La consulta realizada para obtener dicha información es la siguiente: select e.nombres AS "Nombre Estudiante", e.apellidos AS "Apellido Estudiante", e.rut_est, c.nombre AS "Carrera", l.cod_libro, l.titulo, l.agno AS "Año", a.nombres AS "Nombre Autor", a.apellidos AS "Apellido Autor", ed.nombre AS "Editorial", ed.pais, b.biblioteca, t.tipo_p, f.rut_func, f.nombres AS "Nombre Funcionario", f.apellidos AS "Apellido Funcionario", p.fecha_p, p.fecha_e from estudiantes e, carreras c, campus cam, libros l, autores a, editoriales ed, biblioteca b, tipo t, funcionarios f, prestamo p where cam.nombre='ISLA TEJA' and c.id_carrera=e.id_carrera and cam.id_campus=c.id_campus and l.cod_libro=p.cod_libro and f.rut_func=p.rut_func and e.rut_est=p.rut_est and t.id_tipo=l.id_tipo and a.rut_autor=l.rut_autor and ed.id_edit=l.id_edit
  • 6. and b.id_biblio=l.id_biblio and p.fecha_e<=sysdate; Parte de la tabla que se genera de esta consulta es la siguiente: 3. Se solicita obtener lo siguiente (consultas): a) El número de estudiantes por carrera. La consulta realizada para obtener dicha información es la siguiente: select c.nombre, count (e.rut_est)AS "Nro Estudiantes" from carreras c, estudiantes e where c.id_carrera=e.id_carrera group by c.nombre;
  • 7. La tabla que se genera de esta consulta es la siguiente: b) El número de estudiantes por campus. La consulta realizada para obtener dicha información es la siguiente: select cam.nombre, count (e.rut_est) AS "Nro Estudiantes" from campus cam, estudiantes e, carreras c where cam.id_campus=c.id_campus and c.id_carrera=e.id_carrera group by cam.nombre; La tabla que se genera de esta consulta es la siguiente: c) El número de estudiantes por ciudad. La consulta realizada para obtener dicha información es la siguiente: select ci.nombre, count (e.rut_est) AS "Nro Estudiantes" from campus cam, estudiantes e, carreras c, ciudad ci where cam.id_campus=c.id_campus and c.id_carrera=e.id_carrera and ci.id_ciudad=cam.id_ciudad group by ci.nombre;
  • 8. La tabla que se genera de esta consulta es la siguiente: d) El número de préstamos atrasados. La consulta realizada para obtener dicha información es la siguiente: select count (p.fecha_e) AS "Nro Prestamos Atrasados" from prestamo p where p.fecha_e<sysdate; La tabla que se genera de esta consulta es la siguiente: e) El número de préstamos activos, no atrasados. La consulta realizada para obtener dicha información es la siguiente: select count (p.fecha_e) AS "Nro prestamos activos" from prestamo p where p.fecha_e>=sysdate; La tabla que se genera de esta consulta es la siguiente: