Laboratorio n 2 (1)

6
Laboratorio 2 - Ayudantía Nombre: Ninoska Altamirano Pichún Catalina Cárdenas Ayudante: José Luis Carrasco V

Transcript of Laboratorio n 2 (1)

Page 1: Laboratorio n 2 (1)

Laboratorio 2 - Ayudantía

Nombre:Ninoska Altamirano Pichún

Catalina Cárdenas

Ayudante:José Luis Carrasco V

Valdivia, 22 de Noviembre de 2012.-

Page 2: Laboratorio n 2 (1)

Laboratorio N°2

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 OR REPLACE VIEW ESTUDIANTES_COMERCIAL ASselect e.nombres, e.apellidos, c.nombre, ca.nombre as campusfrom estudiantes e, carreras c, campus cawhere e.id_carrera=c.id_carreraand c.id_campus=ca.id_campusand 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 OR REPLACE VIEW ESTUDIANTES_AUDITORIA ASselect e.nombres, e.apellidos, c.nombre as carreras, ca.nombre as campusfrom estudiantes e, carreras c, campus cawhere e.id_carrera=c.id_carreraand ca.id_campus=c.id_campusand c.nombre='AUDITORIA'

c) Que entregue los estudiantes que se atrasaron en la entrega de los libros(RUT, NOMBRES, APELLIDOS y FONO.

CREATE OR REPLACE VIEW RETRASO_LIBROS ASselect e.rut_est, e.nombres, e.apellidos, e.fono, p.fecha_e, p.fecha_pfrom estudiantes e, prestamo pwhere e.rut_est=p.rut_estand p.fecha_e>trunc(sysdate)

d) La cantidad de libros prestados.

CREATE OR REPLACEVIEW LIBROS_PRESTADOS ASselect count(*) AS LIBROSfrom prestamo

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

CREATE OR REPLACE VIEW LIBROS_EXTRANJEROS ASselect l.cod_libro, l.titulo, l.agno, e.paisfrom libros l, editoriales ewhere e.id_edit=l.id_editand PAIS <>'CHILE'

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.

CREATE OR REPLACE VIEW LIBROS_RESERVA ASselect l.cod_libro, l.titulo, l.agno, b.biblioteca, a.nombres, a.apellidos, e.nombre, e.pais, t.tipo_pfrom libros l, autores a, editoriales e, biblioteca b, tipo twhere a.rut_autor=l.rut_autor

Page 3: Laboratorio n 2 (1)

and e.id_edit=l.id_editand t.id_tipo=l.id_tipoand TIPO_P = 'RESERVA'

2.-Se requiere obtener datos desde la Base de Datos y almacenarlos de forma permanente (Vista). Se solicita:

a) Los estudiantes del campus Isla Teja, que tienen libros en su poder (atrasados o no).

CREATE OR REPLACE VIEW LIBROS_PRESTADOS_TEJA ASselect e.nombres as estudiante, c.nombre, p.fecha_pfrom estudiantes e, campus c, prestamo pwhere e.rut_est=p.rut_estand c.nombre='ISLA TEJA'

b) Se debe entregar el RUT, NOMBRE y APELLIDOS del estudiante, además del NOMBRE de la carrera a la cual pertenece

CREATE OR REPLACE VIEW ESTUDIANTES_CARRERA ASselect rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carrerasfrom estudiantes e, carreras cwhere e.id_carrera=c.id_carrera

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

CREATE OR REPLACE VIEW DETALLE_LIBROS_PRESTADOS ASselect e.rut_est, e.nombres as estudiante, e.apellidos, c.nombre as carreras, p.cod_libro,l.titulo, l.agno, a.nombres as autores, a.apellidos as apellidos_autores, ed.nombre as editorial, ed.pais, b.biblioteca, t.tipo_pfrom estudiantes e, carreras c, prestamo p, libros l, autores a, editoriales ed, biblioteca b, tipo twhere e.id_carrera=c.id_carreraand e.rut_est=p.rut_estand p.cod_libro=l.cod_libroand l.id_tipo=t.id_tipoand l.rut_autor=a.rut_autorand l.id_edit=ed.id_editand l.id_biblio=b.id_biblio

d) Se debe indicar que funcionario realizo la transacción, con RUT, NOMBRE y APELLIDO.

CREATE OR REPLACE VIEW DETALLE_PRESTAMOS_FUNCIONARIOS ASselect e.rut_est, e.nombres as nombre_estudiante, e.apellidos as apellidos_estudiantes, c.nombre as carreras, p.cod_libro, l.titulo, l.agno, a.nombres as autores, a.apellidos as apellidos_autores, ed.nombre as editorial, ed.pais, b.biblioteca, t.tipo_p, f.nombres as funcionarios, f.rut_func, f.apellidos as apellidos_funcionariosfrom estudiantes e, carreras c, prestamo p, libros l, autores a, editoriales ed, biblioteca b, tipo t, funcionarios f

Page 4: Laboratorio n 2 (1)

where e.id_carrera=c.id_carreraand e.rut_est=p.rut_estand p.cod_libro=l.cod_libroand l.id_tipo=t.id_tipoand l.rut_autor=a.rut_autorand l.id_edit=ed.id_editand l.id_biblio=b.id_biblio

e) Además deberá indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de éste.

CREATE OR REPLACE VIEW DETALLE_PRESTAMO ASselect e.rut_est, e.nombres as estudiante, e.apellidos as apellidos_estudiante, c.nombre as carreras, p.cod_libro,l.titulo, l.agno, a.nombres as autores, a.apellidos as apellido_autores, ed.nombre as editorial, ed.pais, b.biblioteca, t.tipo_p, f.nombres as funcionarios, f.rut_func, f.apellidos as apellidos_funcionarios, p.fecha_p, p.fecha_efrom estudiantes e, carreras c, prestamo p, libros l, autores a, editoriales ed, biblioteca b, tipo t, funcionarios fwhere e.id_carrera=c.id_carreraand e.rut_est=p.rut_estand p.cod_libro=l.cod_libroand l.id_tipo=t.id_tipoand l.rut_autor=a.rut_autorand l.id_edit=ed.id_editand l.id_biblio=b.id_biblio

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

a) El número de Estudiantes por Carreras

CREATE OR REPLACE VIEW N_ESTUDIANTES_CARRERAS ASselect c.nombre as carrera, count(e.rut_est) as N_estudiantesfrom carreras c, estudiantes ewhere c.id_carrera =e.id_carreragroupby c.nombre

b) El número de Estudiantes por Campus

CREATE OR REPLACE VIEW N_ESTUDIANTES_CAMPUS ASselectk.nombreas campus, count(e.rut_est) as N_estudiantesfrom estudiantes e, carreras c, campus kwhere e.id_carrera = c.id_carreraand c.id_campus = k.id_campusgroupby k.nombre

c) El número de Estudiantes por Ciudad

CREATE OR REPLACE VIEW N_ESTUDIANTES_CIUDAD ASselect ci.nombreas ciudad, count(e.rut_est) as N_estudiantesfrom estudiantes e, carreras c, campus k, ciudad ciwhere e.id_carrera = c.id_carreraand c.id_campus = k.id_campusand k.id_ciudad = ci.id_ciudad

Page 5: Laboratorio n 2 (1)

groupby ci.nombre

d) El número de Préstamos atrasados

CREATE OR REPLACE VIEW PRESTAMOS_ATRASADOS ASselect count(*)as prestamo_atrasadosfrom prestamowhere fecha_e> trunc(sysdate)

e) El número de Préstamos Activos, No atrasados.

CREATE OR REPLACEVIEW PRESTAMOS ASselect count(*)as prestamofrom prestamo