相关疑难解决方法(0)

Facebook喜欢通知跟踪(数据库设计)

我只想弄清楚Facebook的数据库是如何构建用于跟踪通知的.

我不会像Facebook那样复杂化.如果我们想象一个简单的通知表结构:

notifications (id, userid, update, time);

我们可以使用以下方式获取朋友的通知:

SELECT `userid`, `update`, `time`
FROM `notifications`
WHERE `userid` IN 
(... query for getting friends...)
Run Code Online (Sandbox Code Playgroud)

但是,应该是什么表结构来检查哪些通知已被读取,哪些没有?

mysql database-design data-modeling

39
推荐指数
4
解决办法
3万
查看次数

用于存储通知给用户的数据库设计

我正在写一个文学社区网站.(截图)我正在试图找出当有人对他们发布到网站的内容发表评论时,如果他们正在观看提交的新文献,等等时通知用户.

我正在试图弄清楚如何构建数据库来存储这些信息.我想出了两个可能的想法.

  1. 存储指向可通知对象的链接,该字段描述了用户被通知的操作类型(新增,更新等).这使得复杂的显示代码成为可能,但这意味着我可以轻松地更改通知的工作方式.这也增加了我需要从数据库中提取的数据,除非我使用缓存字段将相关属性的哈希转储到表中.

    • notifiable_type
    • notifiable_id
    • 用户身份
    • 行动
    • notifiable_cache(可选,存储来自可通知对象的选定属性的哈希值)
  2. 像电子邮件一样处理通知,只需将主题和消息保存到数据库中即可.这会产生一个简单的视图,但是复杂的模型会阻止我轻松更改通知的工作方式.

    • 用户身份
    • 标题
    • 信息

我正在寻找上面列出的两个想法和评论.

database-design ruby-on-rails

29
推荐指数
3
解决办法
1万
查看次数