数据设计:存储调度程序生成的任务的最佳方法是什么?

时间:2014-06-10 03:04:13

标签: database database-design database-schema

这是我现在面临的数据设计问题。

所以我目前正在为一个服务器场设计一个调度应用程序。为了处理订单,我设计了以下名为Forecast的类。预测具有以下属性:

  1. DUE_DATE
  2. 条目 - 这是{crop:X, quantity:Y}的列表,表示每种作物需要多少作物。
  3. 如您所知,每种作物的持续时间都不同:

    1. 繁殖持续时间(从种子到种植)
    2. 间距持续时间(从种植到更大间距以获得最大阳光)
    3. 储存期限(从收获到期满)
    4. 我写了一个"后退调度程序"它确定何时必须满足订单,然后倒退并为在什么日期需要完成的工作创建任务。

      enter image description here

      请注意,这些日历"条目"没有存储在数据库中 - 我在运行中生成它们并且我计划允许我的用户根据他们的偏好向前和向后拖动这些事件。

      现在,我的任务是每天为需要完成的工作生成报告。我的用户希望能够生成特定日期的任务列表。 (因此,如果您查看我的截图,5月1日将导致创建一个任务,并且移植12个单位的Minutina')。

      我不确定实现这一目标的最佳方法是什么。我最初的设计是:

      1. 为任务创建一个表。这将包括:(forecast_id,forecast_updated_at)
      2. 将我的调度程序生成的任务存储到此表中。
      3. 当用户修改任务时,数据库条目将相应更新。
      4. 但是,如果用户决定修改原始Forecast,那么我们将必须删除与此预测相关的所有任务,并重新生成一组新任务并将其再次存储在上述表中。
      5. (forecast_id,forecast_updated_at)的目的是让我快速验证数据库中当前任务的正确性。

        这个设计有点乱,我想听听任何专家的意见,以便更好地解决这个问题。

0 个答案:

没有答案