База данных Моделирование списка адресов электронной почты и типов отчетов - PullRequest
0 голосов
/ 16 августа 2010

У меня огромная проблема в моделировании этой проблемы.Я пишу заявку на сдачу экзамена (в MS-Access, но это не очень актуально), и есть несколько отчетов, которые необходимо отправить.

Первый отчет отправляется автоматически послечеловек завершает экзаменВторой отчет рассылается каждые 2 недели (или как ему угодно).

Содержимое этих отчетов содержит информацию об экзамене.На основании типа экзамена определенные люди должны получать электронные письма.Кроме того, на основе частоты (за экзамен или за 2 недели) также необходимо провести дифференциацию.

У меня есть некоторые реальные сомнения относительно того, как я это настраиваю.Я действительно не знаю, правильно ли это или нет, и это будет огромная работа, если схема базы данных не настроена правильно.

Предлагаемая схема ниже:

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

Что вы, ребята, думаете?Я боюсь, что способ настройки частоты не позволяет полностью описать данные, и мне придется взломать кучу IF операторов в Access, чтобы приспособиться (что я пытаюсь избежать, в отличие отпредыдущая программа, которая заменяется этой).

Ответы [ 2 ]

1 голос
/ 17 августа 2010

Ну, это может быть начало.

  • A Test - это действие Employee, принимающее Exam.Сотрудник может сдавать экзамен несколько раз.
  • Exam относится к определенному ExamType.
  • Лицо, получающее электронное письмо (Recipient), тоже работник.
  • Каждый Recipient может запланировать (EmailSchedule) свой адрес электронной почты (Template) для каждого ExamType в указанный Frequency.
  • Согласно EmailSchedule, электронные письмав очереди в EmailQueue для каждого Test.

alt text

0 голосов
/ 17 августа 2010

Сдают ли сотрудники экзамены? Я думаю, что вам не хватает хотя бы одного отношения между сотрудниками и экзаменами (employeeExam, где вы будете хранить такие вещи, как dateExamTaken и Score, и, возможно, флаг, подобный resultsSent)

Может также помочь включить таблицу mailSent для аудита и отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...