首页 > 解决方案 > 数据库建模中的计划与实际实体

问题描述

作为小型初创公司开发人员工作的一部分,我最近一直在从事几个项目,到目前为止我已经多次遇到这个问题。当您有一个由计划和后来的实际事物组成的实体时该怎么办?

举个例子,让我们考虑一家公司想要记录他们所有的安全演习。当然,这意味着有人会为演习制定计划,也许会为演习选择日期和时间以及参与演习的人员。这说明了实体的规划。一段时间后,演习实际发生了,所以我们想要记录实际发生的日期和时间(为简单起见,我们假设计划中的人总是与实际参与者相同)。

例子:

作为独立实体的 Drill 的 ERM

作为单一实体的 Drill 的 ERM

我在很多其他实际示例中看到过同样的情况,培训计划和实际培训、定期维护和实际维护、估计预算和实际费用等。有时我们通过使用布尔属性(例如“计划”)来解决这个问题、“完成”、“完成”或“批准”在一个实体中。其他时候,我们使用单独的实体,但尚未就更好的选择达成共识。

您认为解决此类问题的最佳选择是什么?一个 PlanificationEntity 和一个实际的实体?只是一个布尔值?

标签: databasedata-modelingmodeling

解决方案


规划实体应称为配置实体。比如drillConfiguration和drill。DrillConfiguration 可以具有钻孔日期和时间以及任何其他属性。而钻头是具有用于钻头配置的外键属性的实际钻头。那是我的两分钱


推荐阅读