【发布时间】:2012-03-30 01:01:13
【问题描述】:
我有一个简单的消息模式,其中“线程”将 2 个或更多用户与消息流联系起来。每条消息都属于一个线程。它就像 SMS 消息或 Facebook 消息一样工作。
我只需要计算给定用户有多少线程有新消息。当用户打开一个线程时,我需要更新数据库(仅限该用户),表明他们已经查看了该线程。鉴于这 2 个表,我应该如何增强我的架构来为每个线程中的每个用户存储这个“更新的线程”数据?
消息线程:
线程ID
最后更新
MessageThreadUsers:
线程FK
用户FK
我正在考虑添加此表(但有更好的方法吗???)
用户线程
用户FK
线程FK
最后检查
【问题讨论】:
-
既然
UserThreads与MessageThreadUsers具有相同的键,为什么不将新的lastChecked列添加到MessageThreadUsers表中?