Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database design Facebook的实体关系图_Database Design_Erd - Fatal编程技术网

Database design Facebook的实体关系图

Database design Facebook的实体关系图,database-design,erd,Database Design,Erd,我很想知道Facebook的实体关系图是什么样子的。我有点困惑,因为朋友和用户之间存在重叠,这会导致数据库中出现重复的数据条目 一个用户可以发帖子,并且可以有很多朋友 但是, 一个朋友也可以发一个帖子,拥有自己的朋友 您将如何为社交媒体应用程序(如facebook)设计模式 谢谢大家! 我会想象有点像 User table - user details Post table - owned by a user Friends table - a table that st

我很想知道Facebook的实体关系图是什么样子的。我有点困惑,因为朋友和用户之间存在重叠,这会导致数据库中出现重复的数据条目

一个用户可以发帖子,并且可以有很多朋友

但是,

一个朋友也可以发一个帖子,拥有自己的朋友

您将如何为社交媒体应用程序(如facebook)设计模式


谢谢大家!

我会想象有点像

    User table - user details
    Post table - owned by a user
    Friends table - a table that stores the link between people. 

一个
用户
可以创建许多
帖子

一个
用户
可以有许多
朋友
。首先,此关系是
user
上的多对多关系。然后我们可以将它映射为一个新实体,并使用
user
中的两个F.K将其命名为
friends
。例如,它可以保存user1和user2是朋友

朋友
也是
用户
。因此他/她(作为
用户
)也可以创建
post
s

UML符号中的ER可以如下所示:

注意,这个ER显示user1是user2的朋友(反之亦然)。但从友谊的含义来看,我们可以得出user2也是user1的朋友

此外,朋友关系是用户之间的图形关系。在普通项目中,ER是好的。但在大型和真实的项目中,您可以像这样使用