设计数据库以处理向多个用户发送信息

时间:2017-05-26 08:20:58

标签: mysql database-design relational-database

我正在使用PHP并且我需要为Web应用程序设计一个数据库,其中注册用户可以向多个其他注册用户发送单个请求,我还需要为该请求提供唯一ID。 我目前正在将它保存在一个表中,如下所示

ID || sent_to || request details || more details

ID字段为整数,自动递增以在用户每次发送请求时进行计数,从而为每个请求提供唯一的ID

sent_to字段的varchar为100,其中的值是接收者用户逗号分隔的IDs(12,13,17,n)

我的问题在于,从我在线阅读的内容来看,我明白我应该为每个接收器创建一个单独的行,而不是像sent_to那样保存它,但我觉得这会导致表变大即将到来的未来,如果我为每个接收器创建一个单独的行,请求ID字段将与用户通过应用程序发送的请求数无关,因为它将为每个接收者增加一次以上。相同的请求,但在相同或其他用户发送新请求之前,它应保持不变。有人可以向我解释一下,如果我做错了什么,请问为什么?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以拥有一个表,该表使用您在请求表中的id,并且有另一个字段,该字段是发送给它的用户。

table:request_user

列:request_id(这是你的外键)     user_id(也是外键)

您的主键将是两个字段。