社交网络站点(例如Twitter)中会有哪些表格?
目前我有一个用户表。如何跟踪我的关注者和我关注的人?
- 我是否应该为关注者和我关注的人分别维护一个单独的表格?
- 这些表格中会有哪些列?
请不要认为这是主观/离题的。由于我是初学者,我希望专家能指导我设计一个良好的数据库?
社交网络站点(例如Twitter)中会有哪些表格?
目前我有一个用户表。如何跟踪我的关注者和我关注的人?
请不要认为这是主观/离题的。由于我是初学者,我希望专家能指导我设计一个良好的数据库?
尝试查看Database Answers网站,特别是数据模型部分,有几个不同的设计适用于各种系统。这个数据模型适用于社交网络网站,可能会给您提供所需的想法。
您可能还想在SO上搜索其他社交网络数据库问题。我找到了这个帖子,其中包含指向flickr展示Facebook架构的链接。
您的数据库设计将基于系统要求。如果不知道您想实现什么具体目标,很难为您提供最佳设计。
您可以使用这个Messenger数据库设计概念:Messenger DB
您可以创建一个专门用于关注/被关注的关系
的表格。因此,当x关注y时,创建一个具有follower_id = x.id followed_id = y.id
的条目。
您可以查询关系表以查找x和所有相关用户的关系,方法是 select * from relationships where follower_id = x.id
,或反之亦然。
如果x取消对y的关注,则只需删除最初创建的条目即可。