Laboratorio ii sistemas de informacion empresarial - iván jara, alexis quintana y marcelo soto (1)
1. Universidad Austral de Chile
Facultad de Ciencias Económicas y Administrativas
Escuela de Ingeniería Comercial
Instituto de Administración
Sistemas de Información Empresarial – ADMI 274
LABORATORIO II
Integrantes : Iván Jara
Alexis Quintana
Marcelo Soto
Profesor : Cristian Salazar C.
Fecha : Miércoles 21 de Noviembre del 2012
2. LABORATORIO II
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).
CREATEORREPLACEVIEW VISTA_A AS
SELECT
NOMBRES,
APELLIDOS,
a.ID_CAMPUS,
b.ID_CARRERA
FROM
ESTUDIANTES,
CAMPUS a,
CARRERAS b
WHEREb.ID_CARRERA=2
2
3. b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del
estudiante, NOMBRE de la carrera y NOMBRE del campus).
CREATEORREPLACEVIEW VISTA_B AS
SELECT
NOMBRES,
APELLIDOS,
a.ID_CAMPUS,
b.ID_CARRERA
FROM
ESTUDIANTES,
CAMPUS a,
CARRERAS b
WHEREb.ID_CARRERA=1
3
4. c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT,
NOMBRES, APELLIDOS y FONO).
CREATEORREPLACEVIEW VISTA_C AS
SELECT
a.RUT_EST,
a.NOMBRES,
a.APELLIDOS,
a.FONO,
b.FECHA_E
FROM
ESTUDIANTES a,
PRESTAMO b
WHERE
a.RUT_EST=b.RUT_EST
AND
b.FECHA_E<SYSDATE
4
5. d) La cantidad de libros prestados.
CREATEORREPLACEVIEW VISTA_D AS
SELECT
COUNT (*) AS CANTIDAD_LIBROS_PRESTADOS
FROM
PRESTAMO a,
LIBROS b
WHERE
a.COD_LIBRO=b.COD_LIBRO
e) Los libros de editoriales extranjeras (CODIGO,TITULO , AÑO y PAIS de ORIGEN).
CREATEORREPLACEVIEW VISTA_E AS
SELECT
a.COD_LIBROAS CODIGO,
a.TITULO,
a.AGNOAS AÑO,
b.PAISAS PAIS_DE_ORIGEN
FROM
LIBROS a,
EDITORIALES b
WHEREa.ID_EDIT=b.ID_EDIT
AND
b.PAIS<> 'CHILE'
5
7. 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).
CREATEORREPLACEVIEW VISTA_F AS
SELECT
a.COD_LIBROAS CODIGO,
a.TITULO,
a.AGNOAS AÑO,
b.BIBLIOTECA,
c.NOMBRESAS NOMBRE_AUTOR,
c.APELLIDOSAS APELLIDOS_AUTOR,
d.NOMBREAS NOMBRE_EDITORIAL,
d.PAIS
FROM
LIBROS a,
BIBLIOTECA b,
AUTORES c,
EDITORIALES d,
TIPO e
WHEREa.RUT_AUTOR=c.RUT_AUTOR
AND
a.ID_TIPO=e.ID_TIPO
AND
e.TIPO_P='RESERVA'
AND
a.ID_EDIT=d.ID_EDIT
7
8. 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, 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 EDITORIAL y su PAIS, 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.
8
9. Desarrollo N° 2
SELECT
a.NOMBRESAS "NOMBRE ESTUDIANTE",
a.APELLIDOSAS "APELLIDO ESTUDIANTE",
a.RUT_EST, C.NOMBRE AS "CARRERA",
d.COD_LIBRO,
d.TITULO,
d.AGNOAS "AÑO",
e.NOMBRESAS "NOMBRE AUTOR",
e.APELLIDOSAS "APELLIDO AUTOR",
f.NOMBREAS "EDITORIAL",
f.PAIS,
g.BIBLIOTECA,
h.TIPO_P,
i.RUT_FUNC,
i.NOMBRESAS "NOMBRE FUNCIONARIO",
i.APELLIDOSAS "APELLIDO FUNCIONARIO",
j.FECHA_P,
j.FECHA_E
FROM
ESTUDIANTES a,
CARRERAS b,
CAMPUS c,
LIBROS d,
AUTORES e,
EDITORIALES f,
BIBLIOTECA g,
TIPO h,
FUNCIONARIOS i,
PRESTAMO j
WHERE
C.NOMBRE='ISLA TEJA'
AND
B.ID_CARRERA=A.ID_CARRERA
AND
c.ID_CAMPUS=i.ID_CAMPUS
AND
j.COD_LIBRO=d.COD_LIBRO
AND
i.RUT_FUNC=j.RUT_FUNC
AND
a.RUT_EST=j.RUT_EST
AND
d.ID_TIPO=h.ID_TIPO
AND
d.RUT_AUTOR=e.RUT_AUTOR
9
10. AND
f.ID_EDIT=d.ID_EDIT
AND
d.ID_BIBLIO=g.ID_BIBLIO
AND
j.FECHA_E<=SYSDATE;
CORTADO EN VARIAS PARTES
10
13. 3.- Se solicita obtener lo siguiente (vistas):
a) El numero de Estudiantes por Carrera.
SELECT
a.NOMBRE, COUNT (b.RUT_EST)AS "NUMERO_ESTUDIANTES"
FROM
CARRERAS a, ESTUDIANTES b
WHERE
a.ID_CARRERA=b.ID_CARRERA
GROUPBY
a.NOMBRE;
13
14. b) El numero de Estudiantes por Campus
SELECT
a.NOMBRE, COUNT (b.RUT_EST) AS "NUMERO_ESTUDIANTES"
FROM
CAMPUS a,
ESTUDIANTES b,
CARRERAS c
WHERE
a.ID_CAMPUS=c.ID_CAMPUS
AND
c.ID_CARRERA=b.ID_CARRERA
GROUPBY
A.NOMBRE;
c) El numero de Estudiantes por Ciudad
SELECT
a.NOMBRE,
COUNT (b.RUT_EST) AS "NUMERO_ESTUDIANTES"
from
CIUDAD a,
ESTUDIANTES b,
CAMPUS c,
CARRERAS d
WHERE
c.ID_CAMPUS=d.ID_CAMPUS
AND
d.ID_CARRERA=b.ID_CARRERA
AND
a.ID_CIUDAD=c.ID_CIUDAD
GROUPBY
a.NOMBRE;
14
15. d) El numero de Préstamos atrasados
SELECT
COUNT (a.FECHA_E) AS "NUMERO_PRESTAMOS_ATRASADOS"
FROM
PRESTAMO a
WHERE
a.FECHA_E<SYSDATE;
e) El número de Prestamos Activos, No atrasados.
SELECT
COUNT (a.FECHA_E) AS "NUMERO_PRESTAMOS_ACTIVOS"
FROM
PRESTAMO a
WHERE
a.FECHA_E>=SYSDATE;
15