【发布时间】:2010-01-23 20:33:14
【问题描述】:
到目前为止,我有一个简单的消息传递系统,它使用基于文件的存储。由于系统的用户数量逐渐增加,我想切换到基于数据库的存储。
在代码中,消息服务器维护一个用户列表(及其凭据)和一个消息列表。 Message 对象的主要字段是 Sender(User 类型)、Recipients(User[] 类型)和 Content(String 类型)。
通常,用户会从服务器请求发给他的消息,并接收所有收件人字段包含他自己的用户名的消息。
因此,对于数据库,我设想以下表格:
-A 用户表
-A 消息表
(- 为每个用户指定一个通过 MessageID 指定给他的消息的表)?
我遇到的问题是如何存储收件人字段(其中包含一个数组),以便数据库查询可以搜索请求接收发给他的消息的用户。我认为没有比为在系统上注册的每个新用户动态创建一个表更好的解决方案,该表包含对他被列为收件人的消息的引用。其他方法是否可行?
非常感谢!
【问题讨论】:
-
“我认为没有比为每个新用户动态创建表更好的解决方案了” 不要这样做。了解如何标准化数据库。
-
这个问题的答案可能对其他人有用。关于如何改写其标题以使其更容易找到的任何建议?
标签: .net sql database-design