如何为用户创建“Feed”(DB Design)?

时间:2012-07-28 17:06:54

标签: php mysql database mysqli feed

因此,在我的网站上,用户可以执行不同的任务,例如评论,加入群组,发送消息,提供反馈等。现在,我想在用户个人资料页面上创建一个Feed,告诉每个人他们一直在做什么,喜欢facebook但更简单。

示例:

John Doe sent a message to Bob Smith

Bob Smith gave some feedback to John Doe

Bob Smith joined John Doe's group

要做这样的事情,我应该从相应的表中提取所有信息,还是每次执行任务时都要在“Feed”表中插入一行,我希望将其包含在Feed中。

基本上我想通过配置文件页面上的活动选项卡实现与stackoverflow相同的功能。

2 个答案:

答案 0 :(得分:1)

我认为如果您确实使用用户的活动创建了一个额外的表格会更容易。检查所有这些表,您可能甚至不需要所有数据,然后将这些表格格式化为源将会对您的服务器产生影响。还要考虑未来(例如,如果你有100个这样的表,那该怎么办)。

使用额外的表格可以查询订阅源表并使用此信息。无需从正确的表中提取它,因为表中的数据可能不直接有用,需要进行一些计算。

您可以考虑的另一点是Feed的未来变化。假设您要在Feed上显示更多信息,但相应的表没有该信息,您必须更改所有这些表(更不用说使用它们的脚本/页面也添加信息)。但是使用一个Feed表,您可以添加一个元素并更改Feed创建方法。

答案 1 :(得分:0)

userid_did(int)| userid_to(int)| operation(int)| date(varchar)| id(int)

我想?