【发布时间】:2011-09-10 12:03:38
【问题描述】:
Facebook 用户之间的交流似乎存储在一个漫长的“对话”中。因此,发送的电子邮件和交换的私人聊天消息似乎都是一个长期持续对话的一部分。
我认为这个实现对用户来说效果很好(至少它对我有用)。我假设这部分的表格设计可以这样实现:
TABLE: message
- message_id
- timestamp
- from_user_id
- to_user_id
- message
如果我想支持群聊怎么办?我会这样做吗:
TABLE: message
- message_id
- timestamp
- from_user_id
- message
TABLE: message_recipient
- message_recipient_id
- message_id
- to_user_id
我认为它会起作用。但是,我想知道如果我显示用户在一次长时间对话中向任何人发送过的每一件事,这对用户是否有意义。它可能不会。想象一下与人 A 的对话与与人 A、B、C、D 的小组对话与与人 E 的对话等等......
关于什么是可以实施的可用概念的任何建议?
【问题讨论】:
标签: mysql database database-design