0

我在建模这个问题时遇到了很大的问题。我正在写一个考试考试应用程序(在MS-Access中,但这不是真正相关的),并且需要发送一些报告。数据库建模电子邮件列表和报告类型

第一份报告是在一个人完成考试后自动发出的。第二份报告每两周发送一次(或任何他们想要设置的报告)。

这些报告的内容包含考试信息。根据考试类型,某些人需要通过电子邮件发送。此外,根据频率(每次考试或每2周)也需要有所区别。

我对如何设置这个有一些真正的保留。我真的不知道这是否正确,如果数据库架构设置不正确,这将是一项大量的工作。

所提出的模式如下:

----------- 
|Exam List| 
----------- 
    \|/ 
    | 
    | 
----------- 
|Exam Type| 
----------- 
    | 
    | 
    /|\ 
------------ ----------- 
|Email List|>---|Frequency| 
------------ ----------- 
    \|/ 
    | 
    | 
----------- 
|Employees| 
----------- 

你们有什么觉得?我担心频率设置的方式不会完全描述数据,我必须在Access中容纳大量的IF语句来容纳(我试图避免的东西,不像以前的程序正在被这个取代)。

+0

怎么样一个例子 - 这将帮助。 – 2010-08-17 11:35:30

回答

0

员工正在参加考试吗?我认为你至少错过了员工和考试之间的一种关系(employeeExam,你可以在其中存储诸如dateExamTaken和分数的东西,也可能是诸如resultsSent之类的标志)

它可能有助于还包括一个用于审计的mailSent表和调试目的。

+0

这是一个部分模式。还有更多的表格。这个模式只是与电子邮件相关的(建议的)表格。 – Nitrodist 2010-08-16 22:32:47

+0

因此,员工有多个电子邮件列表,考试类型也有多个电子邮件列表(我自己没有得到这个列表),并且频率可以应用于多个列表。 更具体的例子可以帮助我们帮助你。 你能列出你希望在每个表中看到的一些行吗? – Beth 2010-08-17 15:02:27

1

那么,这可能是一个开始。

  • Test是服用ExamEmployee的动作。员工可以多次参加考试。
  • 一个Exam是一定的ExamType
  • 接收邮件的人(Recipient)也是员工。
  • 每个Recipient可以在指定Frequency调度(EmailSchedule)对于每个ExamType不同的电子邮件(Template)。
  • 根据EmailSchedule,电子邮件排队到EmailQueue每个Test

alt text