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

La actualidad más candente

Tarea 1
Tarea 1Tarea 1
Tarea 1
Diego Nauto
 
Laboratorio N° 2
Laboratorio N° 2Laboratorio N° 2
Laboratorio N° 2
Carla Fernanda
 
Laboratorio Nº 2 SIA
Laboratorio Nº 2 SIALaboratorio Nº 2 SIA
Laboratorio Nº 2 SIA
Franco Rios
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
Alejandro Vera Raimann
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
Jose Olivera
 
Laboratorio 2 (1)
Laboratorio 2 (1)Laboratorio 2 (1)
Laboratorio 2 (1)
Daniela Henriquez Uribe
 
Tarea ahora
Tarea ahoraTarea ahora
Trabajo ayudantía
Trabajo ayudantíaTrabajo ayudantía
Trabajo ayudantía
Alejandro Campos
 
Laboratorio n 2 (1)
Laboratorio n 2 (1)Laboratorio n 2 (1)
Laboratorio n 2 (1)
katalinandrea
 
Laboratorio N° 2
Laboratorio N° 2Laboratorio N° 2
Laboratorio N° 2
ninoska89
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
Belén Francisca
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
majuliar
 
Laboratorio n 2
Laboratorio n 2Laboratorio n 2
Laboratorio n 2
katalinandrea
 
Laboratorio número ii
Laboratorio número iiLaboratorio número ii
Laboratorio número ii
paulinamv
 

La actualidad más candente (14)

Tarea 1
Tarea 1Tarea 1
Tarea 1
 
Laboratorio N° 2
Laboratorio N° 2Laboratorio N° 2
Laboratorio N° 2
 
Laboratorio Nº 2 SIA
Laboratorio Nº 2 SIALaboratorio Nº 2 SIA
Laboratorio Nº 2 SIA
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
 
Laboratorio 2 (1)
Laboratorio 2 (1)Laboratorio 2 (1)
Laboratorio 2 (1)
 
Tarea ahora
Tarea ahoraTarea ahora
Tarea ahora
 
Trabajo ayudantía
Trabajo ayudantíaTrabajo ayudantía
Trabajo ayudantía
 
Laboratorio n 2 (1)
Laboratorio n 2 (1)Laboratorio n 2 (1)
Laboratorio n 2 (1)
 
Laboratorio N° 2
Laboratorio N° 2Laboratorio N° 2
Laboratorio N° 2
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Laboratorio n 2
Laboratorio n 2Laboratorio n 2
Laboratorio n 2
 
Laboratorio número ii
Laboratorio número iiLaboratorio número ii
Laboratorio número ii
 

Similar a Lab 2

Laboratorio SIA - 2
Laboratorio SIA - 2Laboratorio SIA - 2
Laboratorio SIA - 2
Pame Espinoza
 
Plsql
PlsqlPlsql
Plsql
PlsqlPlsql
PLSQL
PLSQLPLSQL
Laboratorio 2 - ayudantia
Laboratorio 2 - ayudantiaLaboratorio 2 - ayudantia
Laboratorio 2 - ayudantia
atrivinho
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
Jose Olivera
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
marulymb
 
Trabajo ayudantia
Trabajo ayudantiaTrabajo ayudantia
Trabajo ayudantia
gabybehrend
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
Marion
 
Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4
Carlos Mancilla
 
Consultas en oracle
Consultas en oracleConsultas en oracle
Consultas en oracle
mfdacv
 
Laboratorio nº2
Laboratorio nº2Laboratorio nº2
Laboratorio nº2
Carolina Navarro
 
Laboratorio nº2
Laboratorio nº2Laboratorio nº2
Laboratorio nº2
Patricia Vargas Muñoz
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
Fernando Javier Lingay
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
raillanca
 
Laboratorio 2 SIA
Laboratorio 2 SIALaboratorio 2 SIA
Laboratorio 2 SIA
Miguel Pustela Jara
 
Laboratorio SIA
Laboratorio  SIALaboratorio  SIA
Laboratorio SIA
Constanza Ruiz Aguilar
 

Similar a Lab 2 (17)

Laboratorio SIA - 2
Laboratorio SIA - 2Laboratorio SIA - 2
Laboratorio SIA - 2
 
Plsql
PlsqlPlsql
Plsql
 
Plsql
PlsqlPlsql
Plsql
 
PLSQL
PLSQLPLSQL
PLSQL
 
Laboratorio 2 - ayudantia
Laboratorio 2 - ayudantiaLaboratorio 2 - ayudantia
Laboratorio 2 - ayudantia
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Trabajo ayudantia
Trabajo ayudantiaTrabajo ayudantia
Trabajo ayudantia
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4
 
Consultas en oracle
Consultas en oracleConsultas en oracle
Consultas en oracle
 
Laboratorio nº2
Laboratorio nº2Laboratorio nº2
Laboratorio nº2
 
Laboratorio nº2
Laboratorio nº2Laboratorio nº2
Laboratorio nº2
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Laboratorio 2 SIA
Laboratorio 2 SIALaboratorio 2 SIA
Laboratorio 2 SIA
 
Laboratorio SIA
Laboratorio  SIALaboratorio  SIA
Laboratorio SIA
 

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: