关于层次结构表设计的问题

0
首先是分级的组织结构
集团公司/分公司/部门/组/...
然后是人员,可能同时属于某几个组的管辖

要求:
1、能够根据层次表生成树状菜单
2、能够快速获取某个级别或某个级别的指定部门的所有人员

该如何设计表才比较合理呢?
已邀请:
1

- 取是能力,舍是境界 2015-10-14 回答

1、组织结构表,按照层级可以对编码进行约定,比如公司是两位,分公司两位,部门两位,级三位。如:01 01 01 001。其次是类别,可以按公司、分公司、部门、组定义类别。
 
2、人员表,因为业务中说明一个可能属于多组,所以人员表不能和组织表直接关联,需要扩展表
 
3、组织人员关系表,该表人员和组织一对多。
 
当需要检索的时候通过部门、组,直接like 组织人员关系表就可以快速获取人员了。
1

BAO胖子 - 15年BI经验,涉足电力,快消品,医药,信息服务等行业的BI老兵。 2015-10-14 回答

如果组织结构严谨,@悟 的方法最好,简单方便。

如果组织结构乱七八糟,这里提供另外一种方案。加一张Bridge Table去维护Org ID和所有子(包括他自己的)关系,这需要多一步data aggregation的操作(用触发器也好,batch也好,随你),但能简化很多后面的SQL的工作,以及提高性能。

大概其如图所示:

Capture.PNG

 

要回复问题请先登录注册