我正在尝试为社交平台建模 ERD

I'm trying to model an ERD for a social platform

如何让朋友点赞或评论我的 post?

有人告诉我,将 User_ID 和 Friend_User_ID 作为单独的实体是多余的。我如何将它们合二为一?

非常感谢任何帮助。谢谢

好吧,朋友还是用户。只有与另一个用户的关系才应设计为他们之间的 'friendship' 关系(但这不是您要求的)。 考虑到这一点,ERD 将(以简化的方式)看起来像这样:

像table一般看起来是一样的。

编辑#1:

您可以通过多种方式为您的 ERD 解决友谊问题。 其中之一看起来像这样:

您可以像我一样使用复合键,也可以使用 Friendship 本身的唯一 ID。 请在此处查看优秀的 Whosebug post: Doctrine's Many-To-Many Self-Referencing and reciprocity 它是使用 PHP 描述的,但对于任何 OOP 编码人员来说都应该很容易理解。