Laboratorio N° 2

7
Universidad Austral de Chile Facultad de Ciencias Económicas y Administrativas Escuela de Auditoria Contador Auditor Laboratorio N° 2 Ayudantía de Sistemas de Información Administrativos Profesor Responsable: Cristian Salazar Ayudante: Jose Luis Carrasco 22/11/2012 Carla Núñez Benites

description

Laboratorio N° 2 de Ayudantia

Transcript of Laboratorio N° 2

Page 1: Laboratorio N° 2

Universidad Austral de Chile

Facultad de Ciencias Económicas y Administrativas Escuela de Auditoria

Contador Auditor

Laboratorio N° 2 Ayudantía de Sistemas de Información Administrativos

Profesor Responsable: Cristian Salazar

Ayudante: Jose Luis Carrasco

2 2 / 1 1 / 2 0 1 2

Carla Núñez Benites

Page 2: Laboratorio N° 2

Actividades

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

CREATE VIEW comercial AS (

SELECT e.nombres, e.apellidos, c.nombre as carrera, u.nombre as campus

FROM estudiantes e, carreras c, campus u

WHERE c.id_carrera=e.id_carrera

and u.id_campus=c.id_campus

and c.nombre=' ING. COMERCIAL’)

b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del

estudiante, NOMBRE de la carrera y NOMBRE del campus).

CREATE VIEW auditoria AS (

SELECT e.nombres, e.apellidos, c.nombre as carrera, u.nombre as campus

FROM estudiantes e, carreras c, campus u

WHERE c.id_carrera=e.id_carrera

and u.id_campus=c.id_campus

and c.nombre='AUDITORIA')

Page 3: Laboratorio N° 2

c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT,

NOMBRES, APELLIDOS y FONO).

CREATE VIEW atraso_libros AS (

SELECT e. rut_est as rut, 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 >sysdate)

d) La cantidad de libros prestados.

CREATE VIEW cantidad_prestamos AS (

SELECT count(*)

FROM prestamo)

e) Los libros de editoriales extranjeras (CÓDIGO, TÍTULO , AÑO y PAÍS de ORIGEN).

CREATE VIEW editorials_extrangeras AS (

SELECT l.cod_libro, l.titulo, l.agno, e.pais

FROM libros l, editoriales e

WHERE l.id_edit=e.id_edit

and r.pais<>'CHILE')

Page 4: Laboratorio N° 2

f) Los libros que son de reserva (CÓDIGO, TITULO y AÑO del LIBRO, NOMBRE de la

biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAÍS).

CREATE VIEW libros_reserva AS (

SELECT l.cod_libro as codigo, l.titulo, l.agno as año, b.biblioteca, a.nombres, a.apellidos,

r.nombre, r.pais

FROM libros l, biblioteca b, autores a, editoriales r, tipo t

WHERE l.id_biblio=b.id_biblio

and l.id_tipo=t.id_tipo

and l.rut_autor=a.rut_autor

and l.id_edit = r.id_edit

and t.tipo_p ='RESERVA')

NOTA: Todo esto bajo el supuesto que la base de datos no guarda el historial de los

préstamos realizados anteriormente ( se elimina de la tabla préstamo cuando éste se

devuelve).

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 CÓDIGO, TITULO y AÑO,

el NOMBRE y APELLIDO del autor, la EDITORIAL y su PAÍS, indicar en qué

biblioteca se encuentra, y de qué tipo es.

Page 5: Laboratorio N° 2

Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y

APELLIDO.

Además deberá indicarse la FECHA de PRÉSTAMO 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.

CREATE VIEW prestamos_alumnos_teja AS (

SELECT e.nombres, e.apellidos, e.rut_est as rut, c.nombre as carrera, u.nombre as campus,

l.cod_libro, l.titulo, l.agno as año, a.nombres as nombre_autor, a.apellidos as apellido_autor,

r.nombre as editorial, r.pais, b.biblioteca, t.tipo_p, f.nombres as nombre_funcionario, f.apellidos

as apellido_funcionario, f.rut_func, p.fecha_p as prestado, p.fecha_e as entregado

FROM estudiantes e, carreras c, campus u, libros l, autores a, editoriales r, biblioteca b, tipo t,

funcionarios f, prestamo p

WHERE p.rut_est=e.rut_est

and c.id_campus=u.id_campus

and u.id_campus=f.id_campus

and f.rut_func=p.rut_func

and c.id_carrera=e.id_carrera

and p.cod_libro=l.cod_libro

and l.id_biblio=b.id_biblio

and l.id_tipo=t.id_tipo

and l.rut_autor=a.rut_autor

and l.id_edit = r.id_edit

and u.nombre='ISLA TEJA')

Page 6: Laboratorio N° 2

3.- Se solicita obtener lo siguiente (vistas):

a) El numero de Estudiantes por Carrera.

CREATE VIEW estudiantesxcarrera AS (

SELECT c.nombre, count(rut_est)as estudiantes

FROM estudiantes e, carreras c

WHERE e.id_carrera=c.id_carrera

GROUP BY c.nombre

ORDER BY c.nombre asc)

b) El numero de Estudiantes por Campus

CREATE VIEW estudiantesxcampus AS (

SELECT u.nombre as campus, count(e.rut_est)as estudiantes

FROM estudiantes e, campus u, carreras c

WHERE e.id_carrera=c.id_carrera

and c.id_campus=u.id_campus

GROUP BY u.nombre)

c) El numero de Estudiantes por Ciudad

CREATE VIEW estudiantesxciudad AS (

SELECT d.nombre as ciudad, count(e.rut_est)as estudiantes

FROM estudiantes e, campus u, carreras c, ciudad d

WHERE e.id_carrera=c.id_carrera

Page 7: Laboratorio N° 2

and c.id_campus=u.id_campus

and u.id_ciudad=d.id_ciudad

GROUP BY d.nombre)

d) El numero de Préstamos atrasados

CREATE VIEW prestamos_atrasados AS (

SELECT count(fecha_e)as prestamos_atrasados

FROM prestamo

WHERE fecha_e<sysdate)

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

CREATE VIEW prestamos_activos AS (

SELECT count(fecha_e)as prestamos_activos

FROM prestamo

WHERE fecha_e>sysdate)