【发布时间】:2011-09-03 01:22:09
【问题描述】:
我最近构建了一个时事通讯应用程序。它允许用户订阅一些不同类别的时事通讯。我已经设计了一些像下面这样的表格。
类别表:id cname 描述...
订阅者表:id sname category_id...
通讯表:id nname 内容...
category_newsletter 表:id newsletter_id category_id
当经理创建时事通讯时,会选择一些类别。这是由 category_newsletter 表完成的,类似于,
category_newsletter 表:id newsletter_id category_id
到目前为止,一切都很顺利。但问题是,如何将时事通讯发送给选定类别的订阅者?我有一个解决方案,但我不知道这是否可以。
我设计了另一个表名为“newsletter_queue”,当经理创建一个时事通讯并选择一些类别,例如“cakephp类别”,然后系统将选择“cakephp类别”中的所有订阅者并插入“电子邮件”字段,“subscriber_id " 归档到 "newsletter_queue" 表中,以便系统有足够的权力来处理电子邮件发送过程,即使管理员暂停发送。
那么,有人对时事通讯核心数据库有一些经验吗?说说它。提前致谢!
【问题讨论】:
-
您需要为
messages使用另一个表,并且您处理它的方式应该没问题。newsletter_queue至少应有id | subscriber_id | message_id | added_timestamp | status。
标签: php mysql database-design