使用SQL Server作为数据库创建邮件列表

时间:2016-02-14 22:01:19

标签: sql-server sql-server-2014

我的任务是创建一个电子邮件DL,管理员可以在方便时订阅和取消订阅。在这种类型的设置中,我认为我需要几张桌子。

Manager Table (first name, last name, email address)

dl1 (email address)
dl2 (email address)
dl3 (email address)

我想要创建的是经理将订阅,主经理表将包含所有电子邮件地址。在订阅过程中,管理人员将有机会决定哪些DL将从(dl1,dl2,dl3等)接收通信。

我可以访问SQLServer 2014并将其用于此项目。任何形式的帮助将不胜感激。我希望你们中的一个人可以开始我的工作,我可以根据需要添加/修改DL。

提前感谢您提供的任何帮助/协助。

1 个答案:

答案 0 :(得分:1)

根据您的描述,我建议如下表格:

此表包含您的分发列表,以及有关它们的信息,如列表所有者,说明和报告名称

  • DistributionList
  • 收件人
  • DistributionListMember

以下是更详细的表格:

DistributionList

DistributionList_ID    INT   IDENTITY(1,1)
Name                 VARCHAR(100)
Owner                VARCHAR(100)
Description          VARCHAR(100)
ReportName           VARCHAR(100)

此表中的其他有用字段为

  • 上次更新记录
  • 上次针对此列表发送报告

此外,这假定每个分发列表有一个报告。如果列表中有许多报告或许多列表中包含报告,则需要使其更复杂(对于初学者,您需要一个主报告列表)

此表包含用户及其电子邮件列表

收件人

Recipient_ID                 INT  IDENTITY(1,1)
WindowsLogon                 VARCHAR(100) 
EmailAddress                 VARCHAR(100)
SubscriberName               VARCHAR(100)

我认为此信息已存在于Active Directory中。创建重复的信息孤岛总是一个坏主意,它反映了已经存在的数据,但我猜你已经在Excel中这样做了

此表包含订阅列表的人员列表:

DistributionListMember

DistributionListRecipient_ID    INT   IDENTITY(1,1)
DistributionList_ID             INT   (Foreign key to DistributionList table)
Recipient_ID                    INT   (Foreign key to Recipient table)

所以你去了 - 一个包含你所追求的数据的示例模式。

创建一个引用它的Web应用程序是另一个故事。