首页 新闻 搜索 专区 学院

关于OA任务管理模块的数据库设计

0
悬赏园豆:10 [待解决问题]

1.新建任务
系统提供创建任务的模版,填写创建任务的相关信息,并指派任务各个步骤的任务执行人员、参阅人员.
2.新建子任务
任务流程中,某个环节可以根据实际需要创建子任务,将任务分拆到不同的工作人员.

由上可见,一个任务(id,任务名称,任务内容)下可能有多个步骤(id,执行人,执行内容),一个步骤下有0或1个子任务(id,子任务名称,子任务内容,执行人).

想问下,这样的数据库应该怎样来设计比较好?


小弟我对数据库设计者方面很菜,求高人指点迷津~!

西夏普砖家的主页 西夏普砖家 | 初学一级 | 园豆:183
提问于:2012-11-13 17:51
< >
分享
所有回答(2)
0

看起来有点像工作流

jerry-Tom | 园豆:4077 (老鸟四级) | 2012-11-14 10:17

是工作流,大侠帮忙给点意见呗

支持(0) 反对(0) 西夏普砖家 | 园豆:183 (初学一级) | 2012-11-14 10:19

@Derek_he: 这个你可以查一下工作流方面相前资料,工作流开发还是很有考验的。

支持(0) 反对(0) jerry-Tom | 园豆:4077 (老鸟四级) | 2012-11-14 10:22
0

你已经把需求分析得这么清楚了, 表结构不就已经差不多很明显了吗?

建一个任务主表(Task), 每个任务有一个id. 其它的数据字段看你的实际需要.

再建一个步骤表(Step), 由任务id和步骤id两个做主键. 其它的数据字段看情况, 如果需要排序, 可以再加个order字段来作为排序依据.

再建一个子任务表(SubTask), 该表由主任务id+步骤id+子任务id 三者做主键, 且只需要这三个字段. 子任务的数据还存储在Task表中.

这样, 就允许子任务又包括它的步骤和进一步的子任务. 如果想在Task表中区分哪些是主任务, 可以再加个bit型的字段加以标识, 这样就可以简单地过滤出所有的主任务了.

夏狼哉 | 园豆:833 (小虾三级) | 2012-11-14 10:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册