Sei sulla pagina 1di 13

Universidad Austral de Chile Instituto de Administracin Ingeniera Comercial ADMI 273

SISTEMA DE INFORMACIN EMPRESARIAL

BASE DE DATOS BIBLIOTECA - CONSULTAS SQL

Profesor: Cristian Salazar C. Alumno: Vanessa Gutirrez Kesternich Valdivia, Abril de 2012

Actividades Supuestos: La base de datos no guarda el histrico de los prstamos realizados, es decir, que al entregar un libro, ese prstamo 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).

SQL:
Selecte.nombres,e.apellidos, c.nombre, cm.nombre from estudiantes e, carreras c, campus cm wherec.nombre = 'ING. COMERCIAL' andc.id_campus = cm.id_campus ande.id_carrera = c.id_carrera;

b) Que entregue los estudiantes que son de Auditoria (NOMBRES y APELLIDOS del estudiante, NOMBRE de la carrera y NOMBRE del campus).

SQL:
Selecte.nombres,e.apellidos, c.nombre, cm.nombre from estudiantes e, carreras c, campus cm wherec.nombre = 'AUDITORIA' andc.id_campus = cm.id_campus ande.id_carrera = c.id_carrera;

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

SQL:
select E.RUT_EST, e.nombres , e.apellidos , E.FONO from estudiantes e, prestamo p wheree.rut_est = p.rut_est andp.fecha_e<sysdate

d) La cantidad de libros prestados.

SQL:
Selectcount(p.cod_libro) CANT_LIBROS_PRESTADOS fromPrestamo p

e) Los libros de editoriales extranjeras (CODIGO,TITULO , AO y PAIS de ORIGEN).

SQL:
Selectl.cod_libro, l.titulo, l.agnoasao, ed.pais fromlibros l, editorialesed whereed.id_edit= l.id_edit andnoted.pais = 'CHILE';

f) Los libros que son de reserva (CODIGO, TITULO y AO del LIBRO, NOMBRE de la biblioteca, el NOMBRE y APELLIDO del autor, el NOMBRE de la editorial y el PAIS ).

SQL:
Selectt.tipo_p, l.cod_libro, l.titulo, l.agnoas ao, b.biblioteca, a.nombres, a.apellidos, ed.nombre, ed.pais from tipo t, libros l, biblioteca b, autores a, editoriales ed wheret.id_tipo= l.id_tipoandl.rut_autor= a.rut_autorandb.id_biblio= l.id_biblioanded.id_edit= l.id_edit andt.tipo_p= 'RESERVA';

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, adems del NOMBRE de la carrera a la cual pertenece. Adems se debe entregar que libro tiene prestado, indicando CODIGO, TITULO y AO, 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 transaccin, con RUT, NOMBRE y APELLIDO. Adems deber indicarse la FECHA de PRESTAMO y la FECHA de ENTREGA de ste. NOTA: deber aadir ALIAS al NOMBRE del estudiante, del funcionario, del autor y de la carrera para diferenciarlos.

SQL:
CREATE OR REPLACE VIEW PreguntaDos AS ( SELECTe.rut_est, e.nombres as "Apellidos est", e.apellidos as "Nombre est", c.nombre as "Carrera", cs.nombre as "campus", l.cod_libro, l.titulo, l.agno as "Ao libro", 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 func", f.apellidos as "Apellidos func", p.fecha_p, p.fecha_e FROM estudiantes e, carreras c, campus cs, libros l, autores a, editoriales ed, biblioteca b, tipo t, funcionarios f, prestamo p WHEREe.rut_est= p.rut_est and c.id_carrera= e.id_carrera and cs.id_campus= c.id_campus and f.rut_func= p.rut_func and l.cod_libro= p.cod_libro and cs.id_campus= f.id_campus and a.rut_autor= l.rut_autor and ed.id_edit= l.id_edit and b.id_biblio= l.id_biblio and t.id_tipo= l.id_tipo and cs.nombre= 'ISLA TEJA' )

3.- Se solicita obtener lo siguiente (consultas): a) El numero de Estudiantes por Carrera.

SQL:
Selectc.nombre, count(e.id_carrera) asCantidad_Alumnos from carreras c, estudiantes e WHEREc.id_carrera=e.id_carrera groupbyc.nombre

b) El numero de Estudiantes por Campus

SQL:
Selectcs.nombre, count(e.id_carrera) asCantidad_Alumnos from carreras c, estudiantes e, campus cs WHEREe.id_carrera = c.id_carrera andc.id_campus = cs.id_campus groupbycs.nombre

c) El numero de Estudiantes por Ciudad

SQL:
Selectcd.nombre, count(e.id_carrera) asCantidad_Alumnos from carreras c, estudiantes e, campus cs, ciudad cd WHEREe.id_carrera = c.id_carrera andc.id_campus = cs.id_campus andcs.id_ciudad = cd.id_ciudad groupbycd.nombre

d) El numero de Prstamos atrasados

SQL:
Selectcount(p.fecha_e) asPrestamos_Atrasados from estudiantes e, prestamo p wheree.rut_est = p.rut_est andp.fecha_e<sysdate

e) El nmero de Prestamos Activos, No atrasados.

SQL:
selectcount (p.fecha_e)as "prstamos activos" fromprestamo p wherefecha_e>sysdate

Potrebbero piacerti anche