Laboratorio n 2
-
Upload
katalinandrea -
Category
Education
-
view
81 -
download
0
Transcript of Laboratorio n 2
Ayudantía
“Laboratorio 2”
Ninoska Altamirano
Catalina Cárdenas
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 REPLACE VIEW 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
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
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_carreragroup by c.nombre
b) El número de Estudiantes por Campus
CREATE OR REPLACE VIEW N_ESTUDIANTES_CAMPUS ASselect k.nombre as campus, count(e.rut_est) as N_estudiantesfrom estudiantes e, carreras c, campus kwhere e.id_carrera = c.id_carrera and c.id_campus = k.id_campusgroup by k.nombre
c) El número de Estudiantes por Ciudad
CREATE OR REPLACE VIEW N_ESTUDIANTES_CIUDAD ASselect ci.nombre as ciudad, count(e.rut_est) as N_estudiantesfrom estudiantes e, carreras c, campus k, ciudad ciwhere e.id_carrera = c.id_carrera and c.id_campus = k.id_campusand k.id_ciudad = ci.id_ciudad
group by ci.nombre
d) El número de Préstamos atrasados
CREATE OR REPLACE VIEW PRESTAMOS_ATRASADOS ASselect count(*)as prestamo_atrasadosfrom prestamowhere fecha_e > sysdate
e) El número de Prestamos Activos, No atrasados.
CREATE OR REPLACE VIEW PRESTAMOS ASselect count(*)as prestamofrom prestamo