Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/05/2015, 05:56
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Relación cíclica??

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?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)