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




   Actividades de ayudantía
   ORACLE – PL/SQL

                       Asignatura:
          Sistemas de Información Empresarial

                       Profesor:
                  Cristian Salazar C.

                      Alumna:
                   Nadia Muñoz B.




                  Valdivia, 30/04/2012
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:



Consulta realizada a fecha 29-04-2012.
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:



Consulta realizada a fecha 29-04-2012.

Más contenido relacionado

La actualidad más candente (15)

Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Tarea ahora
Tarea ahoraTarea ahora
Tarea ahora
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Trabajo ayudantía
Trabajo ayudantíaTrabajo ayudantía
Trabajo ayudantía
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
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
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Laboratorio 2 (1)
Laboratorio 2 (1)Laboratorio 2 (1)
Laboratorio 2 (1)
 
Laboratorio n 2
Laboratorio n 2Laboratorio n 2
Laboratorio n 2
 
Laboratorio 1
Laboratorio 1Laboratorio 1
Laboratorio 1
 
Trabajo sistemas
Trabajo sistemasTrabajo sistemas
Trabajo sistemas
 
Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4Tarea consultas ayudantia 23 del 4
Tarea consultas ayudantia 23 del 4
 

Similar a Laboratorio n° 1 (17)

Lab 2
Lab 2Lab 2
Lab 2
 
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
 
Ayudantia 2 sia
Ayudantia 2 siaAyudantia 2 sia
Ayudantia 2 sia
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 
Laboratorio Nº 2 SIA
Laboratorio Nº 2 SIALaboratorio Nº 2 SIA
Laboratorio Nº 2 SIA
 
Laboratorio número ii
Laboratorio número iiLaboratorio número ii
Laboratorio número ii
 
Laboratorio número ii
Laboratorio número iiLaboratorio número ii
Laboratorio número ii
 
Tarea sia 30-04-12
Tarea sia 30-04-12Tarea sia 30-04-12
Tarea sia 30-04-12
 
Admi273 tarea 3- jp morales, r. erribarren
Admi273 tarea 3- jp morales, r. erribarrenAdmi273 tarea 3- jp morales, r. erribarren
Admi273 tarea 3- jp morales, r. erribarren
 
Laboratorio SIA
Laboratorio  SIALaboratorio  SIA
Laboratorio SIA
 
Laboratorio 2 SIA
Laboratorio 2 SIALaboratorio 2 SIA
Laboratorio 2 SIA
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
Laboratorio 2
Laboratorio 2Laboratorio 2
Laboratorio 2
 

Laboratorio n° 1

  • 1. UNIVERSIDAD AUSTRAL DE CHILE FACULTAD DE CIENCIAS ECONÓMICAS Y ADMINISTRATIVAS INSTITUTO DE ADMINISTRACIÓN ADMI 273 Actividades de ayudantía ORACLE – PL/SQL Asignatura: Sistemas de Información Empresarial Profesor: Cristian Salazar C. Alumna: Nadia Muñoz B. Valdivia, 30/04/2012
  • 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: 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.
  • 5. - 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;
  • 6. 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:
  • 7. 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: Consulta realizada a fecha 29-04-2012.
  • 8. 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: Consulta realizada a fecha 29-04-2012.