Facebook的数据库结构来存储评论和帖子? [关闭]

Posted

技术标签:

【中文标题】Facebook的数据库结构来存储评论和帖子? [关闭]【英文标题】:Database structure of Facebook to store comments and post? [closed] 【发布时间】:2013-10-24 09:39:40 【问题描述】:

我将创建简单的社交网站。 所以...我想知道 Facebook 如何为帖子存储 cmets。

是 Facebook 将 Posts 及其 cmets 存储在同一数据库表行中, 然后他们如何将一长串 cmets 存储在一个表行字段中。 还是每个帖子都有每个数据库表,以便可以在该表行中创建该帖子的 cmets。

对于像 CMS 这样的简单社交网站来说,最好的数据库结构是什么。 但它可以处理大量用户。

请在这件事上帮助我。 谢谢。

【问题讨论】:

“是 facebook 将帖子及其 cmets 存储在同一数据库表行中”它永远不会发生。他们有用于 cmets 和 post 的不同表(我认为) 【参考方案1】:

你可以做什么的小例子:

用户

users
--------
id
name

cmets

comments
--------
id
comment_text
posted_by
posted_to
date_posted

当 ID 为 342 的用户向用户 783 的个人资料发表评论时,您可以像这样存储评论:

INSERT INTO comments(comment_text, posted_by, posted_to, date_posted) 
VALUES ('Hi!', 342, 783, '2013-10-16 11:17:00');

然后,当您选择 cmets 以显示在用户的个人资料中时,只需将 posted_by 和 posted_to 列与 users 表中的相关 id 连接起来。

【讨论】:

您不应该将post_id 存储在posted_to 列中吗? @Peter 我确实忘记将 date_posted 列添加到我的插入语句中。 posted_to 应该是发布评论的用户个人资料的唯一 ID。【参考方案2】:

我猜他们有一张包含所有帖子和 post_id 的表格。然后他们有另一张桌子,里面有所有的 cmets。在 cmets_table 中有一行带有 post_id 以便他们可以分配它。

所以,

每个帖子都有一个带有状态文本的 post_id,写它的用户的 id 等。 并且每条评论都有一个comment_id和一个post_id来分配给帖子。

这就是我的猜测。不过我不能肯定地告诉你。

简单的例子 更新

帖子表

post_id | user_id | status_text | datetime

cmets 表

comments_id | user_id | post_id | comments_text | datetime

【讨论】:

【参考方案3】:

我想你试试这张桌子发表评论 用于视频歌曲的 it 表,它收集具有轨道 ID 名称的列

              CREATE TABLE `tbl_video_comments` (                       
                  `comment_id` int(11) NOT NULL AUTO_INCREMENT,           
                  `user_name` varchar(20) DEFAULT NULL,                   
                  `track_id` int(11) NOT NULL,                            
                  `datetime` datetime NOT NULL,                           
                  `comment` varchar(100) NOT NULL,                        
                  PRIMARY KEY (`comment_id`)                              
                ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1  

【讨论】:

【参考方案4】:

您现在只需要关系和三个表。只需将用户 ID 作为主键保留在用户表中,并在您创建的每个表中将其设为外键。这将帮助您根据用户 ID 获取所有内容。

【讨论】:

以上是关于Facebook的数据库结构来存储评论和帖子? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Mysql - 正确排序 Facebook 帖子、评论和回复

系统集成Facebook授权发布帖子以及获取帖子评论等功能

评论系统的实施(Facebook赞)

移动应用帖子的 Facebook 洞察中的空故事点击、喜欢和评论

如何使用 Facebook GRAPH API 删除 Facebook 评论帖子?

获取公开 Facebook 帖子的所有评论