【发布时间】:2011-03-17 07:37:16
【问题描述】:
社交网站(例如:Twitter)中会出现哪些表格。
我现在有一个用户表。如何跟踪关注者和我关注的人?
- 我应该为关注者和我关注的人维护一个单独的表格吗?
- 这些表中有哪些列?
请不要认为这是主观/离题。作为一个初学者,我认为专家可以指导我获得一个好的数据库设计?
【问题讨论】:
标签: database database-design social-networking
社交网站(例如:Twitter)中会出现哪些表格。
我现在有一个用户表。如何跟踪关注者和我关注的人?
请不要认为这是主观/离题。作为一个初学者,我认为专家可以指导我获得一个好的数据库设计?
【问题讨论】:
标签: database database-design social-networking
尝试查看Database Answers,尤其是数据模型。它们针对不同的系统有几种不同的设计。这个one 是一个社交网站,它可以让您了解需要什么。
您可能希望在 SO 上搜索其他社交网络数据库问题。我发现this one 有一个指向flickr 的链接,其中显示了一个似乎来自Facebook 的模式。
您的数据库设计将基于您的系统要求。如果不确切知道您要实现的目标,就很难为您提供最佳设计。
【讨论】:
您可以为关注者/关注relationships 创建单独的表。因此,当 x 跟随 y 时,使用follower_id = x.id followed_id = y.id 创建一个条目。
您可以查询关系表以查找与select * from relationships where follower_id = x.id 有关系的所有用户,反之亦然。
当/如果 x 取消关注 y,您只需删除您最初创建的条目。
【讨论】:
您可以使用这个 Messenger 数据库设计理念:Messenger DB
【讨论】: