选择加入电子邮件的数据库设计

时间:2011-10-30 21:00:54

标签: sql-server database

我在SQL Server中有一个用户表,其中包含所有联系人详细信息,个人详细信息等。当每个用户注册我的网站时,他们将可以选择加入以下5种不同类型的电子邮件:

  • 我希望收到有关新内容的电子邮件
  • 我希望收到每月简报

等等。我正在尝试确定将此信息存储在数据库中的最佳方法。我目前的想法是有一个单独的表,有5列(每个选择一个),值为bool /位值。

由于不需要定期提供信息,因此只有在我们想要向用户发送邮件时才需要这些信息。做这样的事情有没有更好的方法/最佳实践?

1 个答案:

答案 0 :(得分:1)

您提出的设计存在的问题是,将来很难添加新的电子邮件类型;你现在只有5个,但是当你添加第六个或第七个时会发生什么?

相反,我建议像:

User Table:
UserID (Primary Key)
User Attributes

EmailTemplate Table
EmailTemplateID (Primary key)
Email Template Attributes

UserEmailTemplates
UserID
EmailTemplateID

您可以轻松添加新模板,并将其与用户相关联。