数据模型,多对多和一对多关系
Data model, many-to-many and one-to-many relation
因此,我们正在为客户开发 KPI 和主动性管理系统。
在图像中,您可以看到我们根据客户需求构建的数据模型。
基本上这是我们数据模型的层次结构:战略 Objective 链接到一个实体 > KPI > 倡议
最近我们从客户那里发现,战略 objective 和 KPI 可以在多个实体之间共享,但最终每个实体都有不同的计划。
我不知道如何在数据模型中反映这一点。但我想出了三种可能的解决方案:
1- 将战略 Objective 和实体关系从一对多分解为多对多。还有战略 Objective 和 KPI 与多对多的关系,但这并不能解决我的问题。最后我想建模,例如 SO1 在 entity1 和 entity2 之间共享,KPI 也是如此,但不是 Initiative。
2- EntityOwner table,基本上将战略 Objective 或 KPI 或计划直接映射到实体。
3- 我们没有将实体映射到战略 objective,而是将其映射到计划。
The Datamodel
为什么不取消 KPI 和 Initiative 之间的关系,而是在 Entity 和 Initiative 之间创建一个关系?
这种模型类似于这样一个事实,即 KPI 似乎属于业务绩效领域,而举措更多地属于计划/项目办公室。换句话说,企业制定计划是为了满足战略目标而不是 KPI。 KPI 是为了可见性。
我还会询问战略目标是否应该与实体有直接关系,或者是否应该有关系 SO -
- 倡议 - 实体。
因此,我们正在为客户开发 KPI 和主动性管理系统。 在图像中,您可以看到我们根据客户需求构建的数据模型。 基本上这是我们数据模型的层次结构:战略 Objective 链接到一个实体 > KPI > 倡议
最近我们从客户那里发现,战略 objective 和 KPI 可以在多个实体之间共享,但最终每个实体都有不同的计划。
我不知道如何在数据模型中反映这一点。但我想出了三种可能的解决方案:
1- 将战略 Objective 和实体关系从一对多分解为多对多。还有战略 Objective 和 KPI 与多对多的关系,但这并不能解决我的问题。最后我想建模,例如 SO1 在 entity1 和 entity2 之间共享,KPI 也是如此,但不是 Initiative。
2- EntityOwner table,基本上将战略 Objective 或 KPI 或计划直接映射到实体。
3- 我们没有将实体映射到战略 objective,而是将其映射到计划。
The Datamodel
为什么不取消 KPI 和 Initiative 之间的关系,而是在 Entity 和 Initiative 之间创建一个关系?
这种模型类似于这样一个事实,即 KPI 似乎属于业务绩效领域,而举措更多地属于计划/项目办公室。换句话说,企业制定计划是为了满足战略目标而不是 KPI。 KPI 是为了可见性。
我还会询问战略目标是否应该与实体有直接关系,或者是否应该有关系 SO - - 倡议 - 实体。