数据库设计跟踪多步骤过程

时间:2013-12-15 17:57:46

标签: database workflow database-schema

我正在研究一个数据库来处理多步骤流程的流程。

每个特定流程包括多个操作。

特定进程中的每个操作都使用一些常用文件和一些唯一文件。实际行动将由具有特定技能的人员执行。例如,第一个动作可以是获取一个(每个进程共同的)文件并创建一个新文件。第二个动作是获取公共文件和新文件并创建第三个文件;等

问题是每个动作都足够独特,我认为每种动作都需要单独的表。

所以我的问题是如何在这个过程中“跟踪”它们。

想象一下洗车设施作为整体想法。     每辆车都与特定项目相同     每辆车可能分配了不同的过程。         一个过程是通过隧道运行并手干;两步流程。         另一种是通过隧道,手干和真空;三步流程。         第三是穿过隧道,干手和细节;不同的三步流程。 现在想象一下,汽车可以在两个步骤之间传送。 (我知道;如果我可以传送汽车,我肯定不会在stackoverflow上问这个问题。) 此外,汽车可以在行动之间坐在一个大停车场。 最后,那些配备并允许做出具体行动的工人;如果有任何汽车在等待(他们的)行动并且可以从停车场传送它们(检查出来),做他们的工作并将他们传送回停车场(检查他们),可以查看或被告知。 / p>

(我遗漏了一些显而易见的东西;例如检入或退出 - 更新汽车的项目状态;包括检查和退出时间限制;有固有的顺序(洗涤前不能干燥);某些行动可能并行发生(例如汽车在隧道中时吸尘)等。这种洗车类比并不完美,但似乎相当不错。)

我想弄清楚的是如何最好地设置数据库来处理这个问题。

虽然我意识到最初的想法是它只针对三个特定的过程而且只有洗车,我需要将其概括为处理不仅仅是这三个不同的过程,而不仅仅是两个或三个步骤,并且处理添加(比如)换油需要完全不同的输入,但仍然只是一个过程中的步骤。

我确信之前已经完成了死亡,所以简单地指出一个例子很棒。 (我读了一个问题并回答了一个“BoxItems”流程的例子,但是缺少了基础知识。)

我被挂起的地方是我需要处理各种有序步骤的过程的心态。     一个过程需要动作一个,然后两个,然后三个     另一个需要动作一个,然后是四个和五个并行,然后动作二。

显然,我不能拥有一个进程表,它有不同数量的字段用于不同的记录。这些变化字段中的每一个都是包含唯一操作的表的外键。 (此外,流程表将是更高级别的信息,如所有者,完成百分比等)

我走下了一条桌子的路径(没有更好名字的流程),它定义了每个流程;每条记录一个特定的动作序列。但这似乎只是将流程表中的难题转移到流程表。

任何想法都会非常感激。

谢谢你, 卡盘

0 个答案:

没有答案