Bases de datos y laboratorio - Taller de SQL Profesor: Freddy Duitama

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!