我只想弄清楚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)
但是,应该是什么表结构来检查哪些通知已被读取,哪些没有?
我正在写一个文学社区网站.(截图)我正在试图找出当有人对他们发布到网站的内容发表评论时,如果他们正在观看提交的新文献,等等时通知用户.
我正在试图弄清楚如何构建数据库来存储这些信息.我想出了两个可能的想法.
存储指向可通知对象的链接,该字段描述了用户被通知的操作类型(新增,更新等).这使得复杂的显示代码成为可能,但这意味着我可以轻松地更改通知的工作方式.这也增加了我需要从数据库中提取的数据,除非我使用缓存字段将相关属性的哈希转储到表中.
像电子邮件一样处理通知,只需将主题和消息保存到数据库中即可.这会产生一个简单的视图,但是复杂的模型会阻止我轻松更改通知的工作方式.
我正在寻找上面列出的两个想法和评论.