Cita: El resultado que me sale a mí es una relación cíclica (creo), ya que las 3 entidades están relacionadas entre sí, y todas las relaciones con N:M. Esto no es correcto, ¿verdad?
No, no es correcto. Las relaciones circulares están prohibidas por dos razones: 1) No existen, son errores de análisis, y 2) Son imposibles de implementar, porque generan en el DBMS errores de inserción por violación de FK.
Lo que debes definir mejor es el esquema de relaciones, y tener en cuenta que las Instalaciones, mas alla de que participen o no de un proyecto, son entidades base, es decir que la instalación no requiere la existencia de un proyecto para existir, y por ende es una entidad independiente.
Lo que tienes, según describes es que un Empleado está relacionado a 1:N Proyectos, y cada proyecto está relacionado a 1:N instalaciones. A su vez una misma instalación
puede participar de 1:N proyectos, por lo que la relación N:N se da en dos niveles: Empleado<->Proyecto y Proyecto<->Instalacion.
Como obligatoriamente, toda relación N:M crea una tabla física, esto se resuelve con cinco tablas como mínimo:
1) Empleado
2) Proyecto
3) Instalacion
4) Empleado_Proyecto
5) Proyecto_Instalacion.
La vinculación entre instalaciones y empelados, para que quede más claro,
no es directa, sino transitiva. Requiere del proyecto para vincularse, pero:
Si el empleado tiene tareas por fuera de los proyectos, que lo obligan a relacionarse con una Instalación, entonces eso implica que existe un rol , y relación entre ambos que no es parte de esta fase del modelado, y que debe analizarse por separado.
Bien podría implicar que exista otro set de tablas que de soporte a esa nueva relación entre el empleado y las instalaciones,
que no es parte del postulado que planteas.
¿Se entiende la idea?