Sunteți pe pagina 1din 8

EJERCICIOS DE BASES DE DATOS PARA APLICAR EN

MySQL
EJERCICIO 1: Campamentos de verano
Los organizadores de un campamento de verano nos han pedido que diseñemos una
base de datos para recoger los datos del campamento del verano que viene. Hemos
hablado con ellos, y hemos obtenido las siguientes especificaciones:
 En el campamento se alojaran niños entre los 10 y los 14 años.
 A cada niño interesado en asistir se le abre una ficha de inscripción en la que figuran
su nombre y apellidos, su edad, dirección, nombre de sus padres un teléfono de
contacto y la enseñanza que se encuentra cursando (Primaria o ESO).
 Cuando llegue el verano, los niños que se encuentren cursando primaria serán
alojados en cabañas mientras que los niños que se encuentran cursando ESO se
alojarán en tiendas de campaña.
 Estas tiendas y cabañas tienen diferente número de plazas.
 Además, una vez que se cierre el plazo de inscripción se harán equipos de niños para
que realicen en equipo las actividades programadas en el campamento.
 Una actividad desarrollada por un grupo será guiada por un monitor.
 Para ello, el campamento cuenta con un grupo de monitores y un conjunto de
actividades programadas de forma que cada grupo nunca repetirá actividad, un monitor
nunca guiará la misma actividad a dos grupos diferentes y un grupo nunca hará dos
actividades con un mismo monitor.
 Cuando la fecha de comienzo del campamento esté fijada los organizadores se
pondrán en contacto con los monitores para comunicársela junto con las actividades
que han de desarrollar y con que grupos han de desarrollarlas. Además en este
momento se harán públicos unos listados obtenidos de la base de datos y que
indiquen, para cada niño, el grupo que le ha sido asignado y la tienda o cabaña en la
que se alojará.
EJERCICIO 2: Biblioteca
Supongamos que queremos diseñar una base de datos para una biblioteca y hemos
conocido que esta funciona de la siguiente forma:
 En la biblioteca se encuentran, como es natural, una serie de libros que los empleados
solicitan a las editoriales. Cuando un libro se recibe se le da de alta construyéndole una
ficha para búsqueda por autor y otra ficha para búsqueda por tema. En ambas fichas
aparecen el título del libro, el nombre del autor y su nacionalidad, la editorial a la que
pertenece la publicación, el tema sobre el que trata, el ISBN y la estantería de la
biblioteca en la que se encuentra. Hay que aclarar que en la biblioteca no se
encuentran ejemplares repetidos de ningún libro. Las estanterías de la biblioteca tienen
un número y un lugar asignado dentro de la biblioteca. Un empleado puede solicitar un
libro escribiendo una carta de petición a la editorial correspondiente. La dirección a la
que ha de dirigir la carta se encuentra en un archivo de editoriales.
 Para acceder a los libros de la biblioteca es necesario la posesión de un carné que
acredita a los distintos usuarios. Este carné se confecciona a cada persona la primera
vez que intenta retirar un libro. Cada usuario solo puede tener retirado como máximo
un libro en cada instante determinado. El máximo periodo de tiempo que un usuario
puede tener un libro es de 10 días. Transcurrido el cual se penalizará al usuario con
una multa de 1 euro por cada día de demora en la devolución, durante los primeros 3
días y con la suspensión del carné a partir del cuarto día durante un tiempo que podrá
ser establecido por el empleado de la biblioteca en función de las circunstancias que
estime oportuno considerar.
 En la biblioteca les gustaría disponer de un listado que se lanzaría al final de cada día y
en el que aparecería, para cada libro que se encuentra retirado, el título, el ISBN, el
autor y el número del carné, nombre y el número de identificación del usuario que lo
mantiene retirado.
 Cuando un usuario intenta retirar un libro ha de presentar su carné para que se tome
nota de la retirada. Si el libro que desea un usuario A no está disponible por haber sido
retirado por otro usuario B, se toma nota del libro y del usuario A para llamarle por
teléfono y avisarle cuando el libro ha sido devuelto. En ese caso, el usuario A podrá
solicitar que se le reserve el libro por un máximo de 2 días para evitar que otro usuario
lo retire antes de que A pueda acudir a la biblioteca a retirarlo. Transcurrido ese plazo,
si A no lo ha retirado, el libro volverá a estar disponible para cualquier usuario.
 Los empleados de la biblioteca quieren obtener estadísticas sobre: penalizaciones de
los usuarios (usuarios más penalizados, usuario penalizado por más tiempo, …),
préstamos (libros más veces prestados, usuario que más libros ha retirado, usuarios
que han retirado un mismo libro más de una vez, …), usuarios informales (usuarios que
varias veces han reservado un libro que luego no han pasado a retirar).
EJERCICIO 3: Empresa de líneas aéreas
Construir un diagrama entidad-relación para una empresa de líneas aéreas. La empresa
tiene distintos tipos de empleados (pilotos, personal auxiliar de vuelo, mecánicos,
personal de gestión, de administración, de limpieza). La información que mantiene sobre
sus empleados es: número de empleado, nombre, cargo, dirección y salario. Además, le
interesa almacenar datos sobre: los vuelos que realiza (número de vuelo, avión empleado,
fecha, origen, destino, hora de salida, hora de llegada y empleados asignados al vuelo),
los pasajeros registrados en cada vuelo (nombre, dirección y teléfono) y los aviones que
posee la empresa (constructor, número de modelo, número de serie). En el caso de los
pilotos, se desea hacer constar además su capacidad para poder pilotar los distintos
modelos de aviones que posee la empresa.
EJERCICIO 4: Fábrica y tiendas de productos
Supón que tienes que diseñar una base de datos para una organización que dispone de
una fábrica y una cadena de tiendas donde se venden los productos construidos en la
fábrica. Para la construcción de los productos, se dispone de un conjunto de piezas que
son suministradas por una serie de proveedores. Una pieza solo puede ser suministrada
por un proveedor. Al final de cada día se comprueba, para cada pieza, qué cantidad
queda en stock y si este es menor que una cantidad prudente se manda un FAX al
proveedor correspondiente realizándole un pedido.

Cada empleado de la fábrica está dedicado a la construcción de un solo producto. Estos


productos están constituidos por una serie de piezas. Cuando un empleado acaba la
construcción de una unidad de un producto incrementa el stock de éste.

La fábrica está estructurada en forma de departamentos a los que pertenecen los distintos
empleados. Lógicamente, un empleado solo puede pertenecer a un departamento. Un
producto solo puede ser fabricado dentro de cada departamento por un solo empleado. A
final de mes, el departamento, realiza una transferencia bancaria a cada empleado por el
total de la nómina.

Cada departamento suministra productos a las tiendas. Cuando una tienda tiene escasez
de un producto manda un fax al departamento realizándole un pedido. A continuación el
departamento remite el correspondiente pedido a la tienda por medio de una empresa de
envíos.
EJERCICIO 5: Ejercicio del Servicio Militar
Se desea diseñar una Base de Datos para llevar la gestión de los cuarteles. Los datos a
tener en cuenta son:
 Existen diferentes Cuerpos del Ejército (Infantería, Artillería, etc.), y cada uno se define
por un código de Cuerpo y denominación.
 Un soldado se define por su código de soldado (único), su nombre y apellidos, y su
graduación.
 Un soldado pertenece a un único cuerpo.
 Existen varios cuarteles, cada uno se define por su código de cuartel, nombre y
ubicación.
 Un soldado está destinado en un cuartel.
 En cada cuartel, los soldados están agrupados en compañías, cada una de las cuales
se numera de modo único en su cuartel.
 Un soldado pertenece a una única compañía.
 En cada cuartel existen una serie de servicios que se han de realizar (guardias,
imaginarias, etc.). Algunos de esos servicios pueden ser específicos para un lugar en
el cuartel (guardia en la garita Norte) y/o para un período de tiempo (guardia de 6 a 8
en la puerta, oficial de guardia de un día). Se desea gestionar la asignación de los
servicios a los soldados.
EJERCICIO 6: Ejercicio Bases de datos Vuelos

Diseñe una base de datos en MySQL respetando el modelo relacional que acompaña este
enunciado (ver apéndice A). El nombre de dicha base de datos deberá ser \vuelos" y los
esquemas de las tablas deberán respetar los esquemas propuestos por dicho modelo
relacional. Se deberán respetar los nombres de las relaciones y los atributos, así como las
restricciones de llaves primarias y foráneas. No se aceptaran bases de datos que no
respeten estas convenciones.
 Vuelos programados (numero, aeropuerto salida, aeropuerto llegada). Número es
una cadena de caracteres; aeropuerto salida y aeropuerto llegada corresponden a
códigos de aeropuertos.
 Salidas (vuelo, día, hora sale, hora llega, modelo avión). Vuelo corresponde a un
numero de vuelo programado; día = 'Do','Lu','Ma','Mi','Ju','Vi','Sa'; modelo avión
corresponde a un modelo de modelos avión.
 Instancias vuelo (vuelo, fecha, día, estado) vuelo y día corresponden a una salida;
estado es una cadena de caracteres.
 Aeropuertos (código, nombre, teléfono, dirección, país, estado, ciudad). código,
nombre, teléfono y dirección son cadenas de caracteres; País, estado y ciudad
corresponden a una ubicación.
 Ubicaciones (país, estado, ciudad, uso). País, estado y ciudad son cadenas de
caracteres; uso es un entero en el intervalo [-12,12].
 Modelos avión (modelo, fabricante, cabinas, cant asientos). modelo y fabricante son
cadenas de caracteres; cabinas y cant asientos son enteros positivos.
 Clases (nombre, porcentaje). nombre es una cadena de caracteres y porcentaje es un
número real en el intervalo [0, 0.99].
 Comodidades (código, descripción). código es un número natural y descripción es
una cadena de caracteres.
 Pasajeros (doc tipo, doc nro, apellido, nombre, dirección, teléfono, nacionalidad). doc
nro es un número natural; el resto de los atributos son cadenas de caracteres.
 Empleados (legajo, password, doc tipo, doc nro, apellido, nombre, dirección, teléfono).
doc nro y legajo son números naturales; el resto de los atributos son cadenas de
caracteres.
 Reservas (número, fecha, vencimiento, estado, doc tipo, doc nro, legajo). número es
un natural; fecha y vencimiento son fechas; estado es una cadena de caracteres; doc
tipo, doc numero corresponden a un pasajero; legajo corresponde a un empleado.
 Brinda (vuelo, día, clase, precio, cant asientos). vuelo y día corresponden a una
salida; clase corresponde al nombre de una clase; precio es un real positivo con 2
dígitos decimales y 5 dígitos en la parte entera; cant asientos es un natural.
 Posee (clase, comodidad). clase corresponde al nombre de una clase y comodidad
corresponde al código de una comodidad.
 reserva vuelo clase (número, vuelo, fecha vuelo, clase). número corresponde a un
número de reserva; vuelo y fecha vuelo corresponden a una instancia de vuelo; clase
corresponde al atributo nombre de clases.

S-ar putea să vă placă și