EJERCICIOS ER

Notas:

  • Intenta hacer los ejercicios sin ver las soluciones.
  • Puede haber varias soluciones para un mismo ejercicio. Por lo tanto, si te sale una solución diferente a la que se presenta, quizás también esté bien.
  • Si hay aspectos que no quedan claros en el enunciado, toma las decisiones que creas necesarias y anótalas en un apartado de "suposiciones".
  • Si hay restricciones que deben cumplir los datos y no pueden ser captadas con elementos propios del modelo ER, anótalas en un apartado de "otras restricciones".
  • Si ves algún error en las soluciones o tienes dudas de cómo se hace alguna parte o por qué se ha hecho de una determinada manera, consulta al profesor.

Ejercicio 1: Carreteras de estado

Queremos diseñar una base de datos que contenga la información relativa a las carreteras de un determinado país. Realiza el diseño en el modelo E/R, sabiendo que:

  • En ese país las carreteras están divididas en tramos.
  • Un tramo siempre pertenece a una única carretera.
  • Un tramo puede pasar por diferentes ciudades, siendo una de las informaciones de interés el kilómetro del tramo por el cual entra en esa ciudad y el kilómetro por el cual sale. Por una ciudad pueden pasar varios tramos.
  • Existen una serie de áreas en las cuales se agrupan los tramos y cada uno de ellos no puede pertenecer a más de una área.

Pon un par de atributos a cada entidad.

Posible solución

Solución al ejercicio 1

Ejercicio 2: Modelo ER para un instituto

a) Elabora el esquema E/R para el siguiente caso:

  • Para cada asignatura se guardará un código, el nombre, créditos (teoría, problemas y prácticas) y tipo de asignatura (troncal, obligatoria u optativa).
  • De los alumnos se querrá saber de qué asignaturas están matriculados (y en qué convocatoria están). También será necesario guardar sus datos personales. Cada alumno tendrá un código único.
  • Para cada profesor se guardará su DNI, el nombre completo, el número de cuenta corriente, las asignaturas que imparte y los créditos totales que otorga.
  • Cada profesor pertenece a un departamento. Cada departamento está identificado por un código y un nombre, y se debe guardar, además, el teléfono del departamento, quién es el jefe del departamento y quién es el secretario del departamento (estos dos son profesores del departamento).
  • Cada profesor está adscrito a un área de conocimiento (de la cual se guarda el código, el nombre, qué profesores están adscritos y el número total de estos). Cada área de conocimiento puede impartir un conjunto de asignaturas según los planes de estudio vigentes. Se quiere guardar para cada área cuáles son estas asignaturas.

b) ¿Qué modificación harías en el E/R si queremos guardar de cada alumno el historial de las asignaturas cursadas y las notas obtenidas en cada convocatoria (hasta que haya superado la asignatura o hasta que la haya abandonado)?

c) Modifica el E/R para dar de alta los grupos de alumnos. Hay que saber a qué grupo pertenece cada alumno y las asignaturas de cada grupo. Una asignatura puede impartirse en más de un grupo.

Posible solución

a) Solución al ejercicio 2 b) Solución al ejercicio 2b c) Solución al ejercicio 2c

3. Ejericicio 3: Empresa de desarrollo de software

Una empresa de desarrollo de software desea diseñar una base de datos para mantener información sobre sus empleados técnicos, con el fin de asignarlos a proyectos de manera eficiente.

  • En secretaría anotará:

    • Información (código y nombre) sobre los diferentes estudios oficiales relacionados con el software (por ejemplo: carrera de informática, ciclo DAM, ASIX...).
    • Los distritos geográficos en los que se divide la zona por donde trabaja la empresa. De cada distrito se anotará el código, la localización y el área de influencia.
    • Las distintas especialidades (código y nombre) que trata la empresa (por ejemplo: diseño de BD, programación en Java, diseño de páginas web...).
    • Los datos usuales de cada empleado (nombre, dirección, etc.), así como el distrito en el cual preferiría trabajar.
  • El director de recursos humanos, cuando va a contratar a alguien, a partir de las entrevistas y de los currículos, terminará de completar la información sobre los empleados:

    • Los estudios oficiales que ha realizado cada empleado y en qué fecha.
    • El grado de capacidad de cada empleado para trabajar en la especialidad o especialidades para las que se considera capacitado, independientemente de los estudios oficiales cursados. Por ejemplo, un empleado puede saber mucho sobre diseño de BD, aunque no tenga ningún estudio oficial. Este grado será un valor entre 1 y 5.
  • El coordinador de proyectos rellenará la siguiente información:

    • El grado (entre 1 y 5) de posible idoneidad para trabajar en una determinada especialidad, que se supone que debe tener quien ha cursado determinados estudios (independientemente de la capacidad de los empleados).
    • Las especialidades de las cuales trata cada proyecto.
    • En qué distritos se ubicará cada proyecto.
    • Finalmente, el coordinador asignará proyectos a cada empleado (seguramente se basará en los estudios de cada empleado, sus capacidades para trabajar en cada especialidad y el distrito donde quiere trabajar, pero no quiere decir que no se pueda asignar un proyecto a alguien que no esté capacitado). También anotará la fecha de la asignación.
Posible solución

Solución al ejercicio 3

4. Ejericicio 4: Compañía de líneas aéreas

Una compañía de líneas aéreas desea establecer una base de datos con la siguiente información:

a) Información respecto a lo que se conoce como "vuelos genéricos": Vuelos que se repiten diariamente entre una ciudad de origen y una ciudad de destino a una hora determinada.

b) Cuántas plazas hay reservadas para un "vuelo concreto", que estará identificado por el código de vuelo genérico y la fecha en que saldrá el vuelo.

c) Un vuelo genérico siempre tiene asignado el mismo tipo de avión y la misma capacidad máxima de pasajeros.

d) Si en el transcurso de un vuelo hay incidencias, será necesario anotarlas.

e) De cada ciudad se quiere guardar, además de su nombre, los aeropuertos que tiene (código, nombre y categoría) y el país al que pertenece la ciudad. Las ciudades se identifican por un código interno dentro de cada país.

f) No se podrá dar de alta un aeropuerto si no se indica en qué ciudad está.

g) La compañía necesita saber si se necesita pasaporte o no para ir de un país a otro.

h) A partir de los datos que se están guardando se podrán saber cosas como: - La cantidad de plazas libres para un determinado vuelo. - Los aeropuertos de origen y destino de cada vuelo. Información obligatoria, claro.

Posible solución

Solución al ejercicio 4

Ejercicio 5: Vuelta ciclista

Queremos modernizar un sistema de información para controlar una prueba ciclista.

  • Los ciclistas se inscriben en la prueba con un número único, se anota su edad, su nombre y el nombre del equipo (ya que los ciclistas no van por libre, sino que deben pertenecer obligatoriamente a un equipo).
  • De cada equipo se quiere conocer a su director.
  • La prueba es por etapas. De cada etapa se registra el número de etapa, los kilómetros, la ciudad de salida y la de llegada (con unas breves características geográficas, económicas e históricas) y los puertos por los que pasa la etapa (nombre, altura y categoría).
  • Hay algunas etapas (las contrarrelojes) que, como salen y llegan a la misma ciudad, puede darse el caso de tener etapas como: Alicante-Valencia; Valencia-Valencia; Valencia-Castellón; ...

  • Es importante tener en cuenta que dos etapas no pueden pasar por el mismo puerto.

  • Se quiere saber qué ciclista ha ganado en cada puerto y quién ha ganado en cada etapa.
  • Los distintos premios que se otorgan en la clasificación general son los maillots (hay un maillot de color rojo para la general, uno verde para la montaña, otro para la regularidad...). De cada maillot se quiere conocer el tipo, premio en dinero y color.
  • Después de cada etapa se otorgan los premios de la clasificación general. Por lo tanto, se guardará quién se ha llevado cada maillot en cada etapa.

a) Haz el esquema Entidad-Relación correspondiente.

b) Modifica el esquema E/R anterior para contemplar estos requisitos: - Queremos guardar el tiempo que tarda cada corredor en hacer cada etapa. - En cada etapa querremos saber qué equipo va delante en la clasificación por equipos.

Posible solución

a) Solución al ejercicio 5a b) Solución al ejercicio 5b

Ejercicio 6: Gestión de una biblioteca

Una biblioteca quiere diseñar una base de datos adecuada a sus necesidades.

El título de cada obra de la citada biblioteca es único, es decir, obras diferentes tienen títulos diferentes. En general, una obra ha sido escrita por uno o más autores y se quiere guardar las diferentes ediciones que tiene la biblioteca de cada obra. Para cada edición se querrá saber: nombre de la editorial, año de edición, tiraje e idioma. Una obra puede constar de uno o más volúmenes, según la edición. Además, debido al gran número de lectores, se dispone de diversos ejemplares de las obras más populares en diferentes ediciones, aunque a veces no de todos los volúmenes.

Algunos socios solicitan las obras especificando su título exacto, pero otros solo recuerdan un autor o autores. También hay socios interesados en ciertos temas, de los que desean saber qué obras existen en la biblioteca.

Debido al gran volumen de libros y a la especialización de algunos socios, se desea poder acceder también por subtemas a varios niveles; por ejemplo, si alguien solicita libros sobre "informática", le aparecerán como subtemas: "programación", "sistemas operativos", "bases de datos", "informática aplicada a la medicina", etc.; y si solicita libros de "medicina" le aparecerán como subtemas: "anatomía", "patología", "informática aplicada a la medicina", etc. También se querrán saber los subtemas de cada subtema y así sucesivamente.

Al adquirir una obra, la biblioteca asigna a cada ejemplar el número de referencia, con el que, entre otras cosas, se facilita su localización en el depósito.

De cada socio interesa saber el número de socio, teléfono, dirección y fecha de alta.

Cada socio tiene derecho a retirar en préstamo los libros que desee, por un período de 15 días, prorrogables a otros 15 siempre que los ejemplares estén disponibles o no solicitados por otros socios. Si al solicitar una obra en préstamo, esta no está disponible, el socio puede situarse en cola de espera para ser avisado en el momento en que su solicitud pueda ser atendida (es decir, cuando otro socio devuelva la obra).

Los socios deben pagar una cuota mensual. Se quiere saber las cuotas que ha pagado cada socio.

Posible solución

Solución al ejercicio 6