我喜欢用于存储分层数据的嵌套集模型,我希望在项目管理应用程序中找到一个类似的模型来存储任务依赖关系。
问题1:递归数据库查询/函数调用的不可持续的复杂性:
现在,我有一个简单的m:n表,它存储Task/Blocker对,但是循环数据充其量是未优化的,最坏的情况是递归噩梦。我想把数据库调用限制在一个紧密的循环中,并且--使用一个“普通”树--我会使用一个嵌套集来完成这个任务。
问题2:多重继承,多后代
我不能使用树的原因是这个集合不仅包含分支,而且包含合并。有些任务有多个“父节点”--如果可以的话--多个任务必须在启动之前完成。这似乎类似于我假设SVN或Git必须工作来存储版本控制信息。
我想运行如下的查询:
所有任务(递归地)依赖于特定任务(自顶向下遍历) traversal)
。
到目前为止可能的选项:
complexity
最好的方法是什么(你有多确定它会起作用)?
发布于 2012-02-01 05:18:26
我将从任务和task_relationships表开始。
对多个父母或子女使用task_relationships表。
任务关系中的父字段和子字段都是任务表中的id。
https://stackoverflow.com/questions/9091083
复制相似问题