我在SQL Server中有一个用户表,其中包含所有联系人详细信息,个人详细信息等。当每个用户注册我的网站时,他们将可以选择加入以下5种不同类型的电子邮件:
等等。我正在尝试确定将此信息存储在数据库中的最佳方法。我目前的想法是有一个单独的表,有5列(每个选择一个),值为bool /位值。
由于不需要定期提供信息,因此只有在我们想要向用户发送邮件时才需要这些信息。做这样的事情有没有更好的方法/最佳实践?
答案 0 :(得分:1)
您提出的设计存在的问题是,将来很难添加新的电子邮件类型;你现在只有5个,但是当你添加第六个或第七个时会发生什么?
相反,我建议像:
User Table:
UserID (Primary Key)
User Attributes
EmailTemplate Table
EmailTemplateID (Primary key)
Email Template Attributes
UserEmailTemplates
UserID
EmailTemplateID
您可以轻松添加新模板,并将其与用户相关联。