Guía de desarrollo del esquema ER
En el punto anterior hemos visto los distintos elementos del esquema ER. Ahora veremos cómo confeccionar este esquema. Es decir, veremos una guía para desarrollar el esquema ER a partir de los requerimientos (que hemos obtenido entrevistándonos con el futuro usuario de la BD, etc.).
Los pasos a seguir para confeccionar el esquema ER son:
-
Construir el esquema E-R propiamente dicho.
- 1.1. Identificar entidades y atributos
- 1.2. Identificar las especialitzaciones
- 1.3. Identificar las relaciones
- 1.4. Identificar las agregaciones
-
Anotar "Otras Restricciones de Integridad"
- Anotar "Suposiciones"
Cabe decir que esta guía es un proceso:
-
Iterativo: una vez hechos esos puntos, habrá que volver a empezar para ver si nos salen nuevas entidades, etc.
-
Creativo: no es un proceso automático, sino que depende mucho de la creatividad, la imaginación y la experiencia del diseñador.
Pero no es necesario documentar todas y cada una de las fases. Por ejemplo, resulta una pérdida de tiempo realizar una enumeración de las entidades, después otra de las especializaciones, otra de las relaciones... Lo que haremos será ir dibujando todos los elementos en un único esquema.
¿Por qué buscar especializaciones antes que las relaciones?
En la guía anterior, vemos que debemos buscar las especializaciones antes de detectar las relaciones. Esto se debe a que una relación quizás relacione una entidad específica y no a toda la entidad genérica.
Por ejemplo, en una agencia de viajes, si buscamos primero las relaciones antes de las especializaciones, podríamos tener:

Pero si buscamos ahora las especializaciones, podría darse el caso de que esa relación no sea para todos los clientes sino sólo para quienes hacen viaje de negocios:

¿Por qué buscar relaciones antes que las agregaciones?
Una agregación NO está compuesta por un conjunto de entidades. Una agregación está formada por una relación (y por las entidades participantes en la relación). Por tanto, habrá que encontrar primero las relaciones. Si encontramos que es necesario relacionar, por ejemplo, una entidad pilotos con una pareja chasis-motor, como no podemos relacionar 1 entidad con 1 relación, deberemos crear una "entidadota" (agregación de la relación "incorporar" y sus entidades):

Anotar otras restricciones de integridad:
Ya hemos dicho anteriormente que el propio esquema ER puede captar directamente algunas restricciones de integridad (como las restricciones de existencia, las de identificación, las claves, dominios, conectividad a 1...) pero que pueden existir otras restricciones en la propia documentación del análisis, como por ejemplo: "La edad media de todas las ocurrencias de la entidad PERSONES debe superar 20 años". Esto lo expresaremos en lenguaje natural a continuación del esquema ER, en un apartado llamado "Otras restricciones".
Anotar las suposiciones:
Así como en el apartado anterior pondremos lo que decía el análisis de requerimientos (enunciado) que no hemos podido captar en el ER, en este apartado pondremos lo contrario: aquellos aspectos que hemos reflejado en el ER de los que no decía nada el análisis de requerimientos y que, por tanto, hemos tenido que suponer. Por ejemplo, si el enunciado dice: "Habrá que guardar los coches que tiene cada persona", haremos una relación binaria entre COCHES y PERSONAS llamada "ser_propietario", pero para pintar la conectividad no sabremos si un coche puede tener muchos propietarios o sólo uno. En un caso real, el diseñador de la BD preguntaría a quién le ha mandado el proyecto si es uno o muchos, pero para la resolución de los ejercicios, lo pondremos en el apartado de suposiciones.
Esquema ER:
(aquí estaría el esquema ER)
Otras restricciones:
- La edad media de todas las personas no debe superar los 20 años.
- ...
Suposiciones:
- Un coche sólo podrá tener un propietario
- ...