ER图中可以关联2个关系吗?

时间:2013-09-13 00:15:41

标签: database-design entity-relationship

我正在设计一个虚拟社交网站的ER,我需要关联2个关系。具体来说,根据附图,我将Posts关系和Followed By(Followers)关系与新关系'can see'联系起来。

也就是说,关注者可以看到他们关注的用户的帖子。我需要帖子,因为它将具有使用BlipID发布Blip的用户的UserID。图尚未完成,因此请忽略参与者,约束等。 对此提出任何建议吗?

ER Diagram Image

2 个答案:

答案 0 :(得分:0)

正如一些评论所暗示的那样,我相信您不需要Followed By和Follows实体。

相反,它应该是这样的:

Users:
UserId (PK)
<User info columns>

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

现在,我不知道您是否要为以下关系添加限制(即您是否要限制某些帖子的关注者?或者他能看到他所关注的用户的所有帖子吗?)。

因为,如果您不需要任何限制,则不需要“可以读取”实体。

在Post表中,您只需要UserId FK,并且关注者可以阅读任何具有UserId = FollowedId的帖子。

答案 1 :(得分:-1)

在我看来,用户应分为关注用户和关注者用户两个子类,因此将一个关系与另一个用户联系是无效的。我希望我最近创建的图表会有所帮助。

enter image description here