【发布时间】:2011-08-26 17:46:30
【问题描述】:
我正在寻找一些关于如何为电子邮件风格的应用程序设计数据库的建议,特别是如何处理向多个用户发送消息以及显示哪些消息发送给了哪些用户。
这是我目前所拥有的:
消息(主键为 Id)
- Id(身份)
- SenderId(Users.Id 的外键)
ReceivedMessages(主键为 MessageId + RecipientId)
- MessageId(Messages.Id 的外键)
- RecipientId(Users.Id 的外键)
- IsRead
因此,对于发送的每条消息,Messages 中都会有一行包含数据,然后 ReceivedMessages 中的每个接收者都有一行。
但是,如果我想查看用户发送的所有消息,以及这些消息是发送给谁的,该怎么办?对于每条消息,我需要找到该消息的所有 ReceivedMessages 行,并将所有这些行与用户表连接起来,然后以某种方式连接所有名称(如下所示:Concatenate many rows into a single text string?)。这可能会导致扩展问题,还是真的没什么好担心的?
有什么想法/建议吗?谢谢。
【问题讨论】: