Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/06/2011, 19:33
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: 17 años
Puntos: 2658
Respuesta: Clave Foraneas, no puedo agregar filas

La relación entre Usuarios y FanComunidad no es transitiva. No existe la transitividad entre entidades no dependientes en bases de datos.
El DEr de una bases de datos no es igual al DER de Analisis de Sistemas. Los conceptos del diseño son levemente diferentes.
En tu diagrama, la Relación entre el usuario suscripto como Fan y la tabla Usuarios se da exclusivamente por medio de la tabla Comunidad, lo que significa que para suscribir un usuario en FanComunidad, primero ese usuario tiene que haber creado una Comunidad, y sólo se puede suscribir si su ID está en la tabla Comunidad. Eso implicaría una dependencia funcional de ambas tablas, y no es lo que quieres hacer.
Para estblecer cuáles son las relaciones tendremos que volver a la semántica de las mismas:
- "Un usuario Puede crear una o más comunidades, pero cada comunidad sólo puede ser creada por un único usuario" (relación 1:n entre ambas entidades).
- "Una comunidad puede tener uno o muchos seguidores y cada seguidor puede serlo de diferentes comunidades" (relación N:N entre ambas tablas)
- "Cada usuario de la comunidad puede hacer múltiples comentarios en la comunidad y cada comentario le pertenece a un un solo fan" (relación 1:N entre ComenarioComunidad y FanComuidad, es una relación dependiente de una entidad relacional).

¿Se percibe cómo se visualizan las relaciones en forma de frase? Al hacerlo así, las entidades se vuelven más definidas y también las dependencias.

Vamos a un ejemplo práctico (Database Answers):

Este tiene algunos detalles emparentados con tu problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)