2 votes

Deux relations peuvent-elles être liées dans un diagramme ER ?

Je suis en train de concevoir un ER pour un site fictif de réseautage social où j'ai besoin de mettre en relation deux relations. Plus précisément, selon le diagramme ci-joint, je relie la relation Posts et la relation Followed By (Followers) avec une nouvelle relation 'can see'.

En d'autres termes, les suiveurs peuvent voir les messages de l'utilisateur qu'ils suivent. J'ai besoin des messages parce qu'ils contiendront l'ID de l'utilisateur qui a publié le Blip avec l'ID du Blip. Le diagramme n'est pas encore complet, donc ne tenez pas compte des participants, des contraintes, etc. Des suggestions à ce sujet, s'il vous plaît ?

ER Diagram Image

0voto

nestedloop Points 2526

Comme le suggèrent certains commentaires, je pense que vous n'avez pas besoin des deux entités Followed By et Follows.

Il faudrait plutôt procéder de la manière suivante :

Users:
UserId (PK)
<User info columns>

UserFollowsUser:
FollowerId (FK from Users.UserId)
FollowedId (FK from Users.UserId)
<other info, if needed>

Je ne sais pas si vous souhaitez ajouter des restrictions à une relation de suivi (c'est-à-dire si vous souhaitez limiter l'accès d'un suiveur à certains messages ou s'il peut voir tous les messages de l'utilisateur qu'il suit).

En effet, si vous n'avez besoin d'aucune restriction, vous n'avez pas besoin de l'aide de l'Union européenne. "sait lire" l'entité.

Dans la table Post, vous n'avez besoin que de l'UserId FK, et le follower peut lire n'importe quel Post dont l'UserId = FollowedId.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X