Ejercicios del modelo EER
Ejercicio 1: Reyes Magos
Los Reyes Magos de Oriente, ante la creciente competencia de Papá Noel, quieren modernizarse y mejorar la gestión de su tarea con la ayuda de una base de datos.
A los Reyes les gusta conocer muy bien todos los juguetes existentes en el mercado. De entre ellos, les interesa distinguir solo dos subconjuntos de juguetes: los educativos y los deportivos, aunque muchos juguetes no son de ninguno de estos dos tipos y algunos son de ambos a la vez. De los juguetes deportivos quieren saber si se trata de un deporte de equipo o no. De los juguetes educativos quieren saber qué capacidad del niño educan primordialmente (solo una capacidad), por ejemplo: memoria, lenguaje, cálculo, etc. De todos los juguetes en general quieren conocer el nombre (que los identifica), la descripción y la edad a partir de la cual son adecuados. También consideran interesante la información sobre qué juguetes son equivalentes entre ellos.
Los Reyes tienen catalogados todos los países del mundo y las poblaciones (o ciudades) donde viven niños (entendemos niños y niñas, naturalmente). Las poblaciones tienen su nombre que las identifica dentro de su país, pero es bien sabido que hay poblaciones con el mismo nombre en países diferentes. De los países quieren saber la extensión y el número de habitantes de las poblaciones.
También quieren guardar información de cada año: incidencias del reparto, cantidad de horas invertidas y cantidad de pajes contratados.
Los Reyes dan un código identificador a cada niño (que es válido mientras no se sobrepasa una cierta edad en la que, lamentablemente, todos son borrados de la base de datos de los Reyes Magos). De cada niño quieren saber: el código identificador, el nombre, la fecha de nacimiento, la población donde vive actualmente, etc. También quieren conocer la historia del comportamiento del niño a lo largo de los años. El comportamiento se mide con un grado que será un número de 0 a 10 y que se asigna anualmente a cada niño.
Cada niño escribe cartas a los Reyes. Los Reyes dan a cada carta un número que permite distinguir las diferentes cartas de un mismo niño, pero no las cartas de niños diferentes. De las cartas quieren saber el año, la forma de envío y qué juguetes se solicitan y en qué cantidad. Con un algoritmo generoso (que aquí no se explica, pero tiene en cuenta el comportamiento de los niños, los juguetes solicitados y la adecuación de los juguetes a la edad de los niños), los Reyes asignan a cada niño y a cada año los juguetes que le regalarán (que no siempre coincidirán totalmente con los que los niños habían pedido en sus cartas). Quieren tener este historial de asignaciones de juguetes y la cantidad asignada de cada uno a cada niño.
Ejercicio 2: Falla “ORXATETA Y FARTONS”
La falla “Orxateta y Fartons” quiere informatizar su gestión.
Existen falleros de tres tipos distintos: directivos (miembros de la junta directiva, encargados de la gestión diaria), vocales (falleros que pagan religiosamente su cuota semanal) y abonados (vecinos del barrio que colaboran esporádicamente con aportaciones voluntarias). La falla se compone de comisiones formadas por vocales y dirigidas por un miembro de la directiva, de forma que un directivo puede dirigir varias comisiones, pero cada comisión tiene un único directivo como responsable. Sin embargo, los vocales pueden participar en distintas comisiones.
En la fase de análisis se manifiesta la necesidad de dar respuesta a los siguientes requerimientos de información:
- a) Dado un miembro de la directiva (identificado por su nombre), obtener una relación de las comisiones que dirige, incluyendo el nombre de la comisión, su función fundamental en esa comisión, la cantidad de miembros de la que consta y la fecha desde la cual dirige esa comisión.
- b) Dada una comisión, obtener su fecha de creación, la cantidad de miembros de la que consta y una relación de los vocales que la componen, indicando su nombre, dirección, antigüedad en la falla, antigüedad en la comisión, sexo y edad.
- c) Dado un nombre de abonado, se desea conocer su dirección, los dineros totales que ya ha abonado, la cantidad de familiares que dependen del abonado y su antigüedad en la falla.
- d) Dado un miembro de la directiva, se desea saber su dirección, antigüedad en la falla, sexo, sus años de pertenencia a la directiva y su edad.
Realizar el esquema conceptual E/R.
Ejercicio 3: Menús de un restaurante
Los menús pueden ser de dos tipos: formales e informales. Todos los menús están compuestos de primer plato, segundo plato y postres, pero los menús formales tienen, además, obligatoriamente, unos entrantes y uno o varios vinos. De cada entrante se desea saber el nombre y precio.
Para cada plato se desea almacenar el tipo (primer plato, segundo plato o postres), su nombre, un identificador único, la composición y el precio. Para los vinos se desea saber el código de barras, el nombre del vino, el año, el origen, el precio y una descripción del mismo.
Para cada menú, además de su composición y tipo (formal, informal) se desea saber el precio total.
Un ejemplo de menú formal sería:
MENÚ FORMAL Núm. 1
- Entrantes: Assortit d’ibèrics, pimentons farcits i amanida de cors, aladrocs, anxoves i clòtxines.
- 1er plato: Remenat de xistorra
- 2do plato: Magret d’ànec amb salsa de xampinyons
- Postres: Pastís de la casa
- Vins: Blanc de Roda, Negre de Rioja
Precio total: 30 euros
Ejercicio 4: Gestión de un colegio mayor
Se quiere diseñar una base de datos para la gestión de un colegio mayor. Las características más importantes del funcionamiento de este colegio son:
La información de interés de los residentes es su DNI, nombre, dirección, edad, centro en el cual cursan sus estudios, categoría y datos bancarios.
El colegio dispone de habitaciones de 1, 2 o 3 camas. En las habitaciones compartidas solo se pueden alojar residentes de la misma categoría. En estas hay un residente responsable de la habitación.
El colegio organiza diferentes actividades, a las cuales los residentes pueden participar voluntariamente. Las actividades pueden ser individuales o colectivas. Se programan a principio de curso para una fecha y se identifican por un código. Una pequeña descripción dará más información de su contenido.
En las actividades colectivas se participará por equipos. De cada equipo se debe conocer el nombre del equipo, cuántos residentes lo forman y el nombre de cada uno de ellos. Un equipo puede participar en varias actividades colectivas. Un residente solo puede pertenecer a un equipo.
Un residente, independientemente de si pertenece o no a un equipo, también puede participar en varias actividades individuales.
Es necesario que el sistema permita la gestión de la ocupación de las habitaciones y de la participación en las actividades programadas.
Ejercicio 5: Gestión de una empresa
Empresa organizada en departamentos. Cada departamento tiene un nombre único, un código y un empleado que ejerce de jefe de departamento (se debe guardar cuando ha comenzado a ser el jefe). Un departamento puede estar en diferentes lugares.
Cada departamento tiene asignado un conjunto de proyectos, y cada proyecto tiene asignado un código, un nombre y está localizado en un lugar.
Para cada empleado se desea guardar el nombre y apellidos, número de la Seguridad Social, dirección, salario en euros, sexo y fecha de nacimiento. Cada empleado está en un departamento, pero puede trabajar en diferentes proyectos de distintos departamentos. Se debe guardar el número de horas por semana de dedicación a cada proyecto. Finalmente, se debe guardar quién es el supervisor de cada empleado.
Finalmente, se debe guardar quiénes son los beneficiarios de los empleados a efectos de seguro. Para cada uno de ellos se guardará el nombre, el sexo, la fecha de nacimiento y el grado de parentesco con el trabajador.
Soluciones
Ejercicio 1

Ejercicio 2

Ejercicio 3

Ejercicio 4

Ejercicio 5
