Bases de datos y laboratorio - Taller de SQL Profesor: Freddy Duitama - Jonathan Medina semestre 2015-I Universidad de Antioquia Considere el siguiente esquema de base de datos de un sistema de bibliotecas (la clave primaria de cada tabla se encuentra subrayada). país: esta tabla almacena todos los países del mundo. • codigo:number(5) • nombre:varchar2(20) usuario: Esta tabla almacena los usuarios del sistema. • numDocumento:varchar2(20) • nombres:varchar2(255) • estado:varchar2(20) no nulo y recibe uno de los siguientes valores: ACTIVO, INACTIVO, SANCIONADO. • país:number(5) clave foránea a la tabla país. material: Esta tabla almacena todos los materiales que se encuentran en el sistema. • codigo:varchar2(25) • nombre:text • tipo:number(5) clave foránea a la tabla tipoMaterial. • editorial:varchar(25) clave foránea a la tabla editorial. tipoMaterial: Esta tabla almacena los tipos de material que existen en el sistema (Libros, Revistas, CDs, Tesis, etc.) • codigo:number(5) • nombre:varchar2(255) editorial: Esta tabla almacena las editoriales existentes. • codigo:varchar(25) • nombre:varchar2(255) • país:number(5) clave foránea a la tabla país. presentacion: Esta tabla contienelas presentacónes de los ejemplares (papel,PDF,html). • codigo: number(3). • nombre: varchar2(30). ejemplar: Esta tabla almacena cada uno de los ejemplares que existen en el sistema, cada ejemplar pertenece a un material. (Ejemplo: El libro “Database principles and guides” es un material, del cual pueden existir muchos ejemplares). • codigo:number(5) • material:varchar2(25) clave foránea a la tabla material. • presentacion: number(3) clave foránea a la tabla presentacion. • edicion:varchar2(25) • añoPublicacion:number(4) • nroPaginas:number(4) autor: Esta tabla almacena todos los autores del sistema. • codigo:varchar2(20) • nombres:varchar2(255) • país:number(5) clave foránea a la tabla país. autorPorMaterial: Esta tabla almacena los autores de cada uno de los materiales, un material siempre tendrá por lo menos un autor. • material:varchar2(25) clave foránea a la tabla material • autor:varchar2(20) clave foránea a la tabla autor. • consecutivo:number(2) incrementa por cada autor que tenga el material, por defecto el autor principal tendrá como consecutivo el número 1. prestamo: Esta tabla almacena todos los préstamos que se hacen en el sistema. • usuario:varchar2(20) clave foránea a la tabla usuario. • ejemplar:number(5) clave foránea a la tabla ejemplar. • material:varchar2(25) clave foránea a la tabla material. • fechaPrestamo:timestamp • fechaEntrega:timestamp fecha antes de la cual se debe entregar el ejemplar. • fechaEntregado:timestamp fecha en la cual se entregó. Resuelva los siguientes puntos usando álgebra relacional. 1. Obtenga los nombres de los usuarios colombianos que estén inactivos en el sistema. 2. Seleccione el nombre de los usuarios que han realizado menos de 15 préstamos. 3. Obtenga el código de los materiales del tipo “libro” que existen en todos los tipos de presentación posibles. Es decir los libros que aparecen en papel, en html, en pdf, etc. 4. Obtenga el nombre de los materiales cuyos ejemplares sumados tienen más páginas que el promedio de páginas sumadas de los materiales pertenecientes a su misma editorial. 5. Realice una sentencia que permita modificar el atributo “presentacion” al valor “3” de un ejemplar; sólo si pertenece a un material tipo “libro”. 6. Obtenga el código y el numero de ejemplares de las editoriales que su nombre empiece por ”Pla” y que tenga por lo menos 20 ejemplares (Utilice Having). 7. Obtenga el código y el nombre de los autores que que no tengan ninguna publicación con una editorial de su país en el año 2014. 8. Seleccione el nombre y el estado de los usuarios que han hecho préstamos de materiales cuyos autores principales pertenecen al país del usuario. 9. Seleccione el nombre de los materiales (ordenados descendentemente ) que entre todos sus ejemplares sumen por lo menos 5000 paginas. 10. Para los materiales de tipo libro o revista, seleccione el nombre de aquellos que tengan ejemplares con al menos 50 paginas (utilizar operador IN). Nota: todos los puntos tienen el mismo valor. Limítese únicamente a las expresiones, cláusulas y funciones vistas en clase, disponible aquí ¡Éxitos!
© Copyright 2024