Facebook 的实体关系图
Entity relational Diagram for Facebook
我很想知道实体关系图如何查找 Facebook。我有点困惑,因为朋友和用户之间存在重叠,这会导致数据库中出现重复的数据条目。
一个用户可以发一个post,可以有很多好友
然而,
朋友也可以做一个post,拥有自己的朋友
您将如何为 facebook 等社交媒体应用程序设计架构?
谢谢!
我会想象一些类似的东西;
User table - user details
Post table - owned by a user
Friends table - a table that stores the link between people.
一个user
可以创建多个post
。
一个user
可以有很多friends
。首先,这个关系是 user
上的 many-to-many 关系。然后我们可以将它映射为一个新的实体,并将其命名为 friends
,其中两个 F.K 来自 user
。比如可以保存user1和user2是朋友
A friend
也是 user
。所以 he/she(作为 user
)也可以创建 post
。
UML 表示法中的 ER 可以如下所示:
请注意,此 ER 显示用户 1 是用户 2 的朋友(反之亦然)。但是从友谊的意义来看,我们可以得出user2也是user1的朋友。
另外,好友关系是用户之间的图形关系。在ER上面的普通项目中还是不错的。但在大型真实项目中,您可以使用 Graph Databases like neo4j.
我很想知道实体关系图如何查找 Facebook。我有点困惑,因为朋友和用户之间存在重叠,这会导致数据库中出现重复的数据条目。
一个用户可以发一个post,可以有很多好友
然而,
朋友也可以做一个post,拥有自己的朋友
您将如何为 facebook 等社交媒体应用程序设计架构?
谢谢!
我会想象一些类似的东西;
User table - user details
Post table - owned by a user
Friends table - a table that stores the link between people.
一个user
可以创建多个post
。
一个user
可以有很多friends
。首先,这个关系是 user
上的 many-to-many 关系。然后我们可以将它映射为一个新的实体,并将其命名为 friends
,其中两个 F.K 来自 user
。比如可以保存user1和user2是朋友
A friend
也是 user
。所以 he/she(作为 user
)也可以创建 post
。
UML 表示法中的 ER 可以如下所示:
请注意,此 ER 显示用户 1 是用户 2 的朋友(反之亦然)。但是从友谊的意义来看,我们可以得出user2也是user1的朋友。
另外,好友关系是用户之间的图形关系。在ER上面的普通项目中还是不错的。但在大型真实项目中,您可以使用 Graph Databases like neo4j.