You are on page 1of 2

EJERCICIO 1: Una radio que emite algunos programas musicales de música clásica, quiere mantener una BD con las

piezas musicales que van a usar en un nuevo ciclo de programas. • De cada autor se va a anotar su nombre, fecha de nacimiento y muerte, lugar y país de nacimiento, una fotografía y una biografía. • Una obra se identificará mediante un código secuencial, tendrá un título único, una fecha de creación, el tipo de obra (sinfonía, concierto, quinteto, cuarteto, etc.) y un comentario. • Cada obra estará formada por movimientos. Cada movimiento se identifica por un número dentro de cada obra, tiene obligatoriamente un nombre y además un tipo (Allegro, sonata, scherzo, minué, trío, rondó, etc.), la duración en segundos, la partitura (un pdf) y un comentario. • Interesa tener almacenada la música en la BD en formato digital, lo que denominan pieza. Cada pieza tendrá el archivo binario en mp3 y se anotará de forma obligatoria el movimiento que es, la orquesta que lo interpreta, la fecha, el director de la orquesta, la nacionalidad del director, el nombre del archivo, la calidad de digitalización del archivo de música (en Khz) y el tamaño en bytes del mismo. • De cada orquesta tenemos un código y el nombre. 1. Diseña un esquema conceptual de la BD usando un diagrama entidad relación. 2. Pasa a un esquema relacional el esquema conceptual sabiendo que la BD admite nulos en las claves alternativas. 3. Normaliza las tablas del esquema obtenido. 4. Crea un script SQL que implemente las tablas en un esquema. 5. Inserta los datos que quieras (al menos 3 autores, 4 sinfonías, 6 movimientos y 6 piezas). Los datos los puedes sacar de este enlace: http://es.wikipedia.org/wiki/Sinfon%C3%ADa. 6. Crea las siguientes consultas en SQL. 6.1. Listado de autores con su nombre, nacionalidad, fecha de nacimiento y muerte y número de obras que tiene en la base de datos. 6.2. Listado de autores ordenados de mayor a menor por edad en años (si la fecha de muerte no aparece y la de nacimiento no es 100 años anterior a la fecha actual, se usa la fecha actual para calcular la edad). 6.3. Obras de un autor con los movimientos que tiene en la base de datos. 6.4. Duración media de todos los movimientos de la base de datos. 6.5. Obras de las que no haya movimientos. 6.6. Movimientos con una duración superior a la media. 6.7. Autores de los que haya más movimientos. 6.8 Orquestas, director y número de piezas musicales que interpretan. 6.9. Directores que hayan interpretado obras de Beethoven pero no de Hendel. 6.10. Autores que tengan movimientos entre 1 y 3 minutos pero no tengan movimientos de más de 7 minutos. EJERCICIO 2. En un centro veterinario altamente especializado, se atiende a animales domésticos. Se diseña una base de datos y teniendo en cuenta las siguientes especificaciones: a) Una enfermedad puede tener varios tratamientos posibles. b) Cada enfermedad tiene una duración asociada. b) Cada tratamiento tiene un precio fijo. c) Un veterinario se ha especializado en actuar sobre una única enfermedad. d) Sobre una enfermedad pueden actuar varios veterinarios. Normaliza hasta FNBC el siguiente esquema relacional: VETERINARIOS = dni + nombre + apellido1 + apellido2 + {dia + entra + sale} ANIMALES = animal + especie + comida ENFERMEDADES = enfermedad + tratamiento + precio + {sintomas} ACTUACIONES = fecha + animal + enfermedad + veterinario + tratamiento + duración Clave Alternativa(fecha + animal + veterinario)

identificado por su cif. . Recurso. EJERCICIO4: Dada la siguiente relación UTILIZACIÓN(DNI_Prof. e) En una sala solo se realizará una prueba en una determina fecha entre una hora de inicio y una hora de fin. Diseña un esquema relacional y lo normalizas hasta FNBC. Cada candidato tienen un único perfil pero un perfil puede corresponder a varios candidatos. Normaliza la relación hasta FNBC. Fecha_fin. f) A cada casting se le asigna uno o varios perfiles identificados por un código de perfil y con una serie de atributos que denominaremos atribperfil. Un casting tiene además un presupuesto (P) y es dirigido por un agente identificado por su código c) Un casting se estructura en varias fases. Un cliente puede tener contratados varios castings. Nombre_Prof.EJERCICIO3: Se desea diseñar una BD para una Agencia de publicidad dedicada a buscar modelos y actores para sus clientes. d) De cada prueba individual se guarda la fecha de realización (FR) y la hora de inicio y de finalización así como la sala en la que se realiza. i) Un candidato puede someterse como máximo a una prueba individual dentro de cada fase de un casting. Ubicación. cada fase se descompone en varias pruebas individuales identificadas por un número de prueba individual (NP) dentro de cada fase. Cada prueba en la que participa un candidato pertenece sólo a una fase de un casting. g) Los candidatos de la agencia (modelos) se identifican por un código y tienen además un nombre y una dirección. Fecha_inicio. j) En cada prueba individual de una fase solo la participa un único candidato. identificadas dentro de cada casting por un número en secuencia (NF) y a su vez. b) Un casting es contratado por un único cliente. Despacho_Prof. k) Un candidato no podrá realizar una prueba individual de una fase si en la fase anterior realizó una prueba cuyo resultado fue “no apto”. Un candidato solo puede realizar pruebas de castings compatibles con su perfil. h) Cada candidato que encaje con el perfil de un casting realizará una prueba individual y obtendrá un resultado que puede ser “apto” o “no apto”.) que contiene información relativa a la utilización de los recursos de la universidad por parte de los profesores en periodos de tiempo: Examina los datos de la tabla y deduce las dependencias funcionales. Los supuestos semánticos que hay que recoger son: a) Un casting se identifica por un código y tiene un nombre y una fecha de contratación. Cada fase tiene una fecha de inicio.