我在这个问题的建模上有一个很大的问题。我正在写一个考试申请(在MS中,但这并不是真正相关的),并且有一些报告需要发送出去。
第一个报告是在一个人完成考试后自动发出的。第二份报告每两周发出一次(或他们想要做的任何事情)。
这些报告的内容包含考试信息。基于考试类型的,某些人需要通过电子邮件发送。此外,根据频率(每次考试或每2周),也需要有一个区别。
我对我是怎么安排这件事有所保留的。我真的不知道这是否正确,如果数据库模式没有正确设置,这将是一项巨大的工作。
拟议方案如下:
-----------
|Exam List|
-----------
\|/
|
|
-----------
|Exam Type|
-----------
|
|
/|\
------------ -----------
|Email List|>---|Frequency|
------------ -----------
\|/
|
|
-----------
|Employees|
-----------你们觉得怎么样?恐怕设置频率的方式不能完全描述数据,而且我必须在访问可容纳的范围内将大量的IF语句合并在一起(这是我想要避免的,不像以前的程序那样被这种方法所取代)。
发布于 2010-08-17 13:39:02
这可能是个开始。
Test是Employee采取Exam的动作。员工可以参加几次考试。ExamType.Exam是接收电子邮件(Recipient)的特定人员,Recipient可以为每个ExamType在指定的Test.上安排(EmailSchedule)不同的电子邮件(Template)到EmailSchedule,每个Test.的电子邮件排在EmailQueue中。

发布于 2010-08-16 20:04:47
员工参加考试了吗?我认为你至少失去了一种员工和考试之间的关系(employeeExam,在这里你可以存储诸如dateExamTaken和score之类的东西,也许还有像resultsSent这样的标志)
为了审核和调试的目的,还包括一个mailSent表可能会有帮助。
https://stackoverflow.com/questions/3496702
复制相似问题