我想开发一个KPI系统,但在数据库设计上遇到一些麻烦
在开始之前,请先告诉我业务要求:
- 家长可以获得所有子KPI。例如,从下面的图片(策略层次),我可以获得策略1(KPI项目ABC和项目X)下的所有KPI
- 项目分配在一个单元下。例如,项目ABC在软件开发单元下分配。
- 对于组织层次结构,我也可以在父级下获得KPI,例如在Sofware Dev单元下获取所有KPI(项目ABC的KPI)
醇>
我对数据库设计的想法:
-
由于组织层次结构和战略层次结构是基于层次结构的,我想使用嵌套集模型将hieraychy存储在数据库中。
-
嵌套集模型允许轻松查询父项下的所有KPI。例如,根据策略1,获取ICT行业下的MYCOMPANY Enterprise下的所有KPI,依此类推。
-
所以我将创建2个单独的表,一个用于存储组织层次结构的表,以及一个用于存储策略层次结构的表
醇>
问题是:
-
我是否为KPI创建一个单独的表?
-
由于有两个单独的表,并且KPI只插入一次,如何在保持两个表的树/嵌套集模型的同时,如何将KPI数据与组织层次结构和策略层次结构链接/共享? / p>
醇>
提前致谢