Opciones de diseño
A la hora de realizar el esquema ER debemos tener en cuenta que, según el caso, será más conveniente representar la realidad con unos elementos del ER que en otros. Veamos algunas de estas consideraciones:
- ¿Atributo, entidad o relación?
Por ejemplo, ¿cómo representamos las ciudades de cada país?
- Si queremos guardar datos de cada ciudad: código, nombre, país...:

- Si queremos guardar datos de cada país: código, nombre, sus ciudades...:

- Si queremos guardar información de cada país y de cada ciudad y, además, saber cuáles son las ciudades de cada país (o, dicho de otro modo, cuál es el país de cada ciudad):

-
Cómo relacionamos 3 entidades?
-
Relación ternaria

Optaremos por esta solución, si por ejemplo, queremos guardar las horas que imparte un profesor de una signatura a un grupo.
- Relaciones binarias

Optaremos por esta solución si, por ejemplo: - Queremos guardar las horas que imparte un profesor a un grupo, indpendientemente de la asignatura. - Queremos saber qué asignaturas imparte un profesor, independientemente de a qué grupo
- Agregaciones

Optaremos por esta solución si, por ejemplo:
-
hay algún atributo que depende solo de 2 entidades (grupos y asignaturas) y, por tanto hay que hacer una relación entre les 2.
-
Además, queremos saber información que involucra a las 3 entidades a la vez.
-
¿Relación con muchos atributos ,u otra entidad?
Supongamos que queremos saber qué artículos se piden a cada proveedor. Y, además, la fecha en que se piden, la dirección de envío y la cantidad pedida de ese artículo:

Pero nos damos cuenta de que dada una ocurrencia de la relación (por ejemplo, dado el artículo tomates pedido a la Cooperativa del Mareny ), podemos tener muchos pedidos. Es decir: que esa pareja tomates-Cooperativa del Mareny tiene asociados muchos conjuntos de fechas, direcciones de envío y cantidades. Por tanto, realmente no sería el esquema anterior sino éste:

Por experiencia sabemos que cada pedido debe tener un código único. Como las relaciones no tienen clave, ¿cómo indicamos que ese código no se pueda repetir? La solución es hacer que los pedidos sean una entidad y, por tanto, replanteemos las relaciones y atributos correspondientes:

- ¿Generalización o atributo discriminador?
Supongamos que queremos representar los datos de hombres y mujeres.

-
a) Atribut discriminador
-
Optaremos per esta opción cuando sólo queremos saber el sexo de las personas.

-
b) Diverses entitats
-
Optaremos per esta opción cuando hombres y/o mujeres tienen atributos y/o relaciones diferentes.
- c) Generalització
-
Optaremos por esta opción cuando se cumplan estas 2 condiciones:
- hombres y mujeres tienen atributos y/o relaciones diferentes.
- hombres y mujeres tienen atributos y/o relaciones en común.
-
Eliminar relaciones redundantes
Supongamos que nos ha salido el siguiente ER:

En este caso, si una persona trabaja en un departamento, y un departamento está en una empresa, se obvio que esa persona " pertenece" a esa empresa. Es decir:
-
A partir de la relación " trabaja", sabremos en qué departamento trabaja una persona.
-
A partir de la relación " estar", sabremos en qué empresa está ese departamento.
-
Por tanto, sabremos a qué empresa pertenece aquella persona sin hacer falta la relación "pertenece". Por tanto, habrá que quitar esa relación del esquema ER para ser redundante:

Pero no siempre que existe un "circuito de relaciones" hay alguna redundante, sino que depende del significado de las relaciones. Ejemplos:
-
Si esa relación no se dijera " pertenece " sino " empresa donde querría trabajar ", la información de esa relación no la podríamos obtener a partir de las relaciones " trabaja " y " estar ", de forma que no sería una relación redundante.
-
¿De las 3 relaciones anteriores podríamos haber quitado la relación " trabaja " en lugar de " pertenece "? No, puesto que si un empleado pertenece a una empresa y en esa empresa están muchos departamentos, a partir de esa información no podemos deducir en qué departamento trabaja cada empleado.
Ejercicios completos EER
Ahora que ya hemos visto todos los elementos de un esquema ER y de su ampliación EER, así como los pasos para resolverlos y las posibles opciones de diseño, ya puede realizar los ejercicios del fichero anexo sobre "Ejercicios EER completos" .