【发布时间】:2011-08-25 20:36:56
【问题描述】:
在以下数据库设计中,我如何标记未读消息,以便我们知道发送者和接收者谁阅读了该消息?
(即当人 X 向人 Y 发送消息时,该消息将被标记为人 Y 未读,直到人阅读该消息,但它标记为人 X 已读,因为他发送了该消息)。
留言
- 标识(PK)
- 主题
- 内容
- MessageTypeId (FK) - 消息、更新(全球广播)、通知等
- UserId (FK) - 创建者
- 创建日期
- 读取日期
MESSAGE_COMMENT
- 标识(PK)
- 消息 ID (FK)
- 内容
- UserId (FK) - 创建者
- 创建日期
用户
- 名字
- 姓氏
- 用户名
- 密码
- 活跃
- 等等……等等……
MESSAGE_TYPE
- 身份证
- 代码
- 姓名
编辑:似乎设计不完整。
【问题讨论】:
-
您可以在设计中添加表格/列,还是仅用这里的内容来解决它?
-
可以更改现有的或添加额外的表/列。
-
您可以更新问题并添加
User和Type的表结构,UserId和TypedId参考。 -
从这两个表中,我看不出如何识别哪些用户收到了消息。在传统的电子邮件系统中,你会需要这个,虽然我没有使用过 Facebook 消息,所以可能不会。尽管模型至少需要支持收件箱概念。一旦你有了它,应该更容易看到你可能希望如何将消息标记为已读。
标签: sql-server database sql-server-2008 database-design relational-database