任务计划数据/对象结构

时间:2009-06-22 13:59:37

标签: database-design data-structures

我需要创建一个数据库结构来管理甘特风格的任务和资源系统,有一些自定义需求,所涉及的技术与其他人不能很好地协作,所以我想从头开始做。我的需求很简单:

  • 任务,优先次序
  • 资源(只是人)
  • 日历(主要是能够处理非工作日)

我已经检查了Microsoft项目数据结构,但它是根据我的需求复杂化的方法,并且无法找到任何更简单或更少记录的内容。

最重要的用例是执行未分配的任务并将其放入资源的工作清单中,使周围的任务中的所有日期都进行调整。

目前无需绘制图表。

我是否有一些标准的方法可以解决这个问题?

2 个答案:

答案 0 :(得分:2)

听起来你大多只需要一个TASKS表,其中包含任务名称/描述,状态,优先级,持续时间和开始/结束日期,并带有某种标志来指示哪些字段是“固定的”;例如,如果一个任务有一个“丢失”结束日期,那么它是固定的,并且不能由调度程序修改。同样,如果某些内容已经开始(或必须立即启动),则开始日期是固定的,无法更改。您可以添加“%完成”或“工作小时数”或“预定/实际开始/结束”或您想要的任何其他字段。资源可能只是一个简单的名称+ id对。为了灵活性,我建议使用TASK-ASSIGNMENTS表将任务映射到资源。这将允许将任务分配给多个资源(例如将任务分配给团队),并且还将为您提供存储“已分配”日期的位置。根据调度程序的综合程度,您可能还需要一个单独的TASK-DEPENDENCIES表来跟踪依赖关系(无法在基础浇注之前安排框架等)。对于日历,您可能最好只存储“例外情况“假日或假期等日期,以及假设标准工作周。当然,除非你的项目没有这样的东西,在哪种情况下为什么要担心?只需在适合的时候安排任务,让人们在开始任务时填写开始日期。日历可以是全球性的,也可以是特定于资源的。

您是否需要按项目分组任务?如果是这样,那么当然你需要一个PROJECTS表,你可能想要一些将资源映射到项目的PROJECT-RESOURCES表。这是一个存储资源应该投入到特定项目(例如30%的时间)和/或资源应该给予特定项目的优先级的工作量的好地方。您可能还希望有一些方法将日历分配给项目,可以是默认值或覆盖(可能需要一个标志来指定哪个)。

我可以继续,但我看到我已经......

答案 1 :(得分:0)

您可以在Project Planning

中试用此www.databaseanswers.org模型