社交网站的数据库设计

时间:2010-07-17 10:53:06

标签: database database-design social-networking

社交网站中会出现哪些表格(例如:twitter).... 我现在有一个用户表...如何跟踪追随者和我关注的人......

  • 我应该为关注者和我关注的人保留单独的表...
  • 这些表格中的列数是什么?

请不要认为这是主观/偏离主题......因为我是初学者,我认为专家可以指导我获得良好的数据库设计?

3 个答案:

答案 0 :(得分:38)

尝试查看Database Answers特别是数据模型。它们针对各种系统有几种不同的设计。这个one适用于社交网站,我会告诉您需要什么。

您可能希望在SO上搜索其他社交网络数据库问题。我发现this one有一个指向flickr的链接,显示了一个似乎来自facebook的架构。

您的数据库设计将基于您的系统要求。如果不确切知道你想要实现什么,很难给你最好的设计。

答案 1 :(得分:7)

您可以使用此Messenger数据库设计概念:Messenger DB

Messenger DB Schema

答案 2 :(得分:4)

您可以为关注者/ relationships创建单独的表格。因此,当x跟随y时,创建一个follower_id = x.id followed_id = y.id的条目。

您可以查询关系表,查找x与select * from relationships where follower_id = x.id有关系的所有用户,反之亦然。

当/如果x取消跟随y时,您只需删除最初创建的条目。