Download - EjerciciosMER
Ejercicios Modelo Entidad-Relación
A continuación se propone una serie de enunciados para la obtención de los diagramas E/R
correspondientes. En los enunciados se describen casos más o menos reales, si bien el grado de
detalle en las especificaciones que aparecen puede variar mucho de un problema a otro. El
alumno podrá completar las especificaciones con aquellas consideraciones que estime oportunas
con el fin de definir mejor el problema, acotar el universo de discurso o ajustarse mejor a una
realidad conocida.
Histórico de campeonatos de fútbol
Se pretende disponer de una base de datos que permita manejar información sobre los distintos
torneos o campeonatos de fútbol a lo largo de la historia.
Se deben considerar los distintos campeonatos posibles (campeonato de liga de cada país en
cada temporada, campeonatos mundiales, europeos, liga de campeones, etc).
En cada campeonato participan una serie de equipos. Cada campeonato consta de una serie de
partidos. En cada partido intervienen dos equipos (uno como anfitrión y otro como visitante) y 4
árbitros (un árbitro central, dos jueces de línea y un suplente). Un partido se celebra en un estadio
que puede ser o no la sede de oficial de uno de los equipos participantes.
Un equipo ha tenido distintos jugadores y entrenadores a lo largo de la historia, que a su vez
pueden haber cambiado varias veces de equipo e incluso haber sido miembros de un mismo
equipo en distintas ocasiones. También se da el caso de que algunos jugadores terminan su
carrera como entrenadores. Los jugadores son de un tipo (portero, defensa, …) aunque pueden
jugar en distintas posiciones en los distintos partidos.
Sobre los partidos nos interesa conocer todo tipo de detalles: qué jugadores fueron convocados y
si lo hicieron como titular o suplente, cuáles intervinieron, durante cuanto tiempo y en qué posición
jugaron, qué goles se marcaron y por quién, cómo fueron esos goles (de juego, de falta, de penalti
…) qué jugador hizo la asistencia al gol (en el caso de que proceda), si el gol fue anulado y la
causa. También qué tarjetas se mostraron y a quién.
Algunos ejemplos de información que se espera obtener de la base de datos son:
• Tabla de posiciones de cada torneo (puntaje, partidos ganados, empatados, perdidos y
diferencia de gol) 1
Ejercicios Modelo Entidad/Relación
• Estadísticas de goleadores y asistencias (en general, por puesto, por año).
• Entrenadores con más y menos títulos.
• Histórico de un equipo por rival, como local y como visita, por día y hora (¿Le va mejor si
juega los domingos a las 16 horas?)
• Tarjetas por jugador, por equipo, por partido.
• Minutos jugados: máximo, mínimo; por jugador.
• Relación minutos jugados - (gol, tarjetas) por jugador.
• Los mejores por posición (Arquero, Defensa, Volante, Delantero) por torneo.
• Los mejores suplentes (vino de la banca e hizo el gol o el pase gol)
• Cojín de oro: jugador con más citaciones en el banco y que no jugó.
Este es un problema clásico, que se puede complicar tanto como se quiera ya que el universo de
discurso que se considera puede llegar a ser muy complejo si se van añadiendo nuevos aspectos
de la realidad como por ejemplo otras incidencias de los partidos (faltas, agresiones de un jugador
a otro con o sin resultado de lesión,…), otros datos de interés sobre la historia de los jugadores
(historial de lesiones, cambios de nacionalidad, inhabilitaciones por dopaje,…), penalizaciones que
han sufrido los equipos, etc.
Se recomienda partir de un universo de discurso acotado e irlo complicando poco a poco hasta
donde se quiera.
Universidad
Considerar el caso de la base de datos de una Universidad estudiado en clase. Realizar las
modificaciones necesarias para recoger información sobre el horario y lugar de las clases de cada
asignatura.
Almacén de productos
Se quiere registrar información correspondiente a un almacén, sus departamentos, sus
empleados, sus productos y los fabricantes de estos productos:
• Cada empleado está representado por un número de empleado, su nombre y dirección.
Se debe indicar además a qué departamento pertenece
• Cada departamento está representado por su nombre y se saben que empleados trabajan
en él, quién es el jefe del departamento y los productos que vende
2
Ejercicios Modelo Entidad/Relación
• Cada producto está representado por su nombre, fabricante, precio, número de producto
asignado por el fabricante y número de producto asignado por el almacén
• Cada fabricante está representado por su nombre, dirección, productos que suministra al
almacén y precios de estos productos
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.
Empresa de Seguros
Construir un diagrama entidad-relación para una compañía de seguros que almacena información
sobre sus empleados (nombre, salario y número de empleado) controlando además quién es el
jefe de cada empleado; sobre las pólizas vendidas por cada uno de sus agentes de seguros
(número de póliza, descripción y cantidad asegurada) y sobre los beneficiarios de esas pólizas
(nombre y dirección).
Hospital
Construir un diagrama entidad-relación para un hospital con un conjunto de pacientes y un
conjunto de empleados sanitarios (médicos y ATS). Un paciente es atendido por uno o más
médicos y es asistido por un grupo de ATS. Cada paciente se describe por su número de historia
clínica, su nombre y dirección. En la base de datos se mantiene información del personal sanitario
referente a su número de empleado, nombre, tipo y especialidad. Para cada paciente se mantiene
un registro de los análisis realizados identificados por un número de referencia, además se indica
el tipo de análisis, la fecha en la que se realizó, el médico que solicitó el análisis, el o los ATS que
realizaron la prueba y los resultados que se obtuvieron en la misma.
Biblioteca
3
Ejercicios Modelo Entidad/Relación
Supongamos que queremos diseñar una base de datos para una biblioteca y hemos conocido que
ésta 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 DNI 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),…
Biblioteca 2
4
Ejercicios Modelo Entidad/Relación
Estudiar las modificaciones que se deberían realizar al diagrama obtenido en el ejercicio anterior si
se desea considerar la posibilidad de que puedan existir varios ejemplares de un mismo libro.
Nótese que se deberán estudiar especialmente las implicaciones que esto tendría en el caso de la
reserva de libros: un usuario no estará interesado en un determinado ejemplar sino en cualquier
ejemplar de una determinada obra.
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 paquetería.
Ayuntamiento
El ayuntamiento de tu ciudad desea tener una base de datos de los residentes en ella, del parque
de vehículos existente y de las construcciones realizadas y te ha pedido que la diseñes. Las
especificaciones que has obtenido son las siguientes:
Cuando una persona nace se dan de alta sus datos, es decir, nombre, apellidos, quienes son sus
padres, la fecha del nacimiento y la dirección en la que se le podrá localizar.
Con respecto a las viviendas y demás construcciones, cuando se finaliza una nueva construcción
se la da de alta indicando en que calle está, el número de la calle que se le asigna, el tipo de
construcción que es, el área de la planta y el número de plantas de que dispone. Además, se
5
Ejercicios Modelo Entidad/Relación
indica quien es el dueño de la construcción. Este registro de información servirá para mantener un
control de los pagos de impuestos anuales derivados de la vivienda.
Además se desea tener un registro de todos los vehículos dados de alta en la ciudad con sus
respectivos dueños para llevar un control sobre los impuestos municipales derivados de la
posesión de vehículos. Cuando un vehículo se da de alta se indica el tipo, marca, modelo y color
de éste.
Mensualmente, se lanzan dos listados. El primero indica cada una de las viviendas, los recibos de
pago que tiene pendientes y el nombre, dirección con código postal y teléfono de la persona a la
que hay que reclamarlos. El otro listado hace lo mismo pero con los vehículos.
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á.
6
Ejercicios Modelo Entidad/Relación
Garantías
Una fábrica de electrodomésticos quiere informatizar el seguimiento post-venta de los productos
que están en garantía.
La fábrica dispone de una red de distribuidores. Cada vez que un producto es mandado a un
distribuidor para su venta se registra con el código del distribuidor, el código del artículo que lo
identifica en el archivo de artículos y el número de serie.
Cuando un producto es vendido el cliente rellena el bono de garantía y lo manda a la fábrica. En
este bono de garantía figuran su DNI, el número de serie del producto, el código del distribuidor
que se lo vendió y la fecha de compra. Cuando llega a la fábrica y antes de archivarlo se le añade
la duración de la garantía asociada a ese artículo.
Cuando un electrodoméstico se estropea, el cliente lo lleva a su distribuidor y, este lo repara. Una
vez reparado, el distribuidor, manda un parte de mantenimiento a la fábrica en el que constan el
número de serie del producto que se ha reparado y los gastos que se han producido. Un parte
puede constar de una o más líneas. Las líneas pueden ser de dos tipos:
• Horas de trabajo de los técnicos del distribuidor. Estas horas vienen identificadas por
su código y se valorarán a un precio fijo preestablecido cada principio de año entre la
fábrica y sus distribuidores.
• Piezas sustituidas. Se identificarán por el código del artículo y su precio de coste
figura en el archivo maestro de artículos.
Antes de archivar uno de estos partes se ha de comprobar que todos los datos son correctos, en
cuyo caso se admite, el parte y se valora cada línea y el total del parte. En caso de incorrección,
el parte se devuelve sin ser registrado al distribuidor con un aviso de error. Los posibles avisos de
error son:
• El producto no está en garantía.
• El distribuidor no fue quien vendió el producto.
• Alguna de las piezas que constan en la reparación no pertenece a la estructura del
artículo reparado.
• Alguna de las reparaciones que se comunican rebasa el tope de horas asignado para
la reparación.
Para realizar estos controles se necesita consultar un libro que, posee la empresa donde se
detalla la estructura que tiene cada artículo y que también desearía la fábrica que a partir de ahora
lo contuviese la base de datos.
Cuando un parte de reparación es devuelto a un distribuidor se guarda una copia y se le asigna un
número de referencia en espera de la respuesta.
7
Ejercicios Modelo Entidad/Relación
Cada semana se procesan todos los partes recibidos y se confecciona la nota de pago para cada
distribuidor.
Cada mes, se dan de baja todos los artículos que habían sido vendidos por algún distribuidor para
los cuales ha finalizado su periodo de garantía. De estos productos se guarda un listado con
objeto de no perder constancia de la venta realizada.
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:
1. Existen diferentes Cuerpos del Ejército (Infantería, Artillería, ...), y cada uno se define por
un código de Cuerpo y denominación.
2. 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.
3. Existen varios cuarteles, cada uno se define por su código de cuartel, nombre y ubicación.
Un soldado está destinado en un cuartel.
4. 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.
5. En cada cuartel existen una serie de servicios que se han de realizar (guardias,
imaginarias, …). 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.
.
Gestión de trabajos de fin de carrera.
Una Escuela de Informática quiere generar un sistema para tener controlado en una base de datos
todo lo referente a los Trabajos Fin de Carrera: alumnos que los realizan, profesores que los
dirigen, temas de los que tratan y tribunales que los califican. Los datos ha de tener en cuenta son:
Los alumnos se definen por su número de matrícula, DNI y nombre. Un alumno realiza,
sólo un TFC.
Los TFC se definen por su título, por un número de orden y por la fecha de comienzo. Un
TFC determinado, no puede ser realizado por varios alumnos.
8
Ejercicios Modelo Entidad/Relación
Un profesor se define por su DNI, nombre y domicilio. Interesa conocer además a qué
alumnos dirige el TFC. Varios profesores pueden ser codirectores de un mismo TFC.
Un Tribunal está formado por varios profesores y los profesores pueden formar parte de
varios tribunales. Un tribunal juzga y califica una serie de TFC. Esos trabajos se defenderán en
una fecha y lugar determinados. El tribunal se define por un número de tribunal, fecha y lugar de
examen y por sus componentes. Cada componente del tribunal lo es con un papel determinado
(presidente, secretario, suplente, …). Los TFC serán calificados por el tribunal. En el caso de que
un TFC obtenga una calificación de suspenso, deberá volverse a presentar en una nueva
convocatoria y podrá ser juzgado por un tribunal diferente al anterior.
Gestión de exámenes
Los profesores de la asignatura de Bases de Datos de una Facultad deciden crear una base de
datos que contenga la información de los resultados de las pruebas realizadas a los alumnos. Para
realizar el diseño se sabe que:
• Los alumnos están definidos por su n° de matrícula, nombre y el grupo al que asisten a clase.
• Dichos alumnos realizan dos tipos de pruebas a lo largo del curso académico:
1. Exámenes escritos: cada alumno realiza varios a lo largo del curso, y se definen por el n° de
examen, el número de preguntas de que consta y la fecha de realización (la misma para todos
los alumnos que realizan el mismo examen). Evidentemente, es importante almacenar la nota
de cada alumno por examen.
2. Prácticas: se realiza un número indeterminado de ellas durante el curso académico, algunas
serán en grupo y otras individuales. Se definen por un código de práctica, título y el grado de
dificultad. En este caso los alumnos pueden examinarse de cualquier práctica cuando lo
deseen, debiéndose almacenar la fecha y nota obtenida. En caso de que la práctica se haya
realizado en grupo, todos los alumnos de un mismo grupo obtendrán la misma nota en dicha
práctica.
• En cuanto a los profesores, únicamente interesa conocer (además de sus datos personales:
DNI y nombre), quién es el qué ha diseñado cada práctica, sabiendo que en el diseño de una
práctica puede colaborar más de uno y que un profesor puede diseñar más de una práctica.
Interesa, además, la fecha en que ha sido diseñada cada práctica por el profesor
correspondiente.
9
Ejercicios Modelo Entidad/Relación
Concesionario de automóviles
Un concesionario de automóviles desea informatizar su gestión de ventas de vehículos. En
particular, se quiere tener almacenada la información referente a los clientes que compran en el
concesionario, los vehículos vendidos, así como los vendedores que realizan las distintas ventas.
Para ello se tendrán en cuenta los siguientes puntos:
• El concesionario dispone de un catálogo de vehículos definidos por su marca, modelo,
cilindrada y precio.
• Cada uno de los modelos dispondrá de unas opciones adicionales (aire acondicionado, pintura
metalizada, etc.). Las opciones vienen definidas por un nombre y una descripción. Hay que
tener en cuenta que una opción puede ser común para varios modelos variando sólo el precio
en cada caso.
• En cuanto a los clientes, la información de interés es el nombre, DNI, dirección y teléfono, lo
mismo que para los vendedores.
• Los clientes pueden ceder su coche usado en el momento de comprar un vehículo nuevo. El
coche usado vendrá definido por su marca, modelo, matrícula y precio de tasación. Es
importante conocer la fecha en la que el cliente realiza esta cesión.
• Se desea saber qué vendedor ha vendido qué modelo a qué cliente. También la fecha de la
venta y la matricula del nuevo vehículo y, si procede, la matrícula de coche usado entregado
como parte del pago. Es importante así mismo saber las opciones que el cliente ha elegido
para el modelo que compra.
10