database - 数据库建模中的计划与实际实体
问题描述
作为小型初创公司开发人员工作的一部分,我最近一直在从事几个项目,到目前为止我已经多次遇到这个问题。当您有一个由计划和后来的实际事物组成的实体时该怎么办?
举个例子,让我们考虑一家公司想要记录他们所有的安全演习。当然,这意味着有人会为演习制定计划,也许会为演习选择日期和时间以及参与演习的人员。这说明了实体的规划。一段时间后,演习实际发生了,所以我们想要记录实际发生的日期和时间(为简单起见,我们假设计划中的人总是与实际参与者相同)。
例子:
我在很多其他实际示例中看到过同样的情况,培训计划和实际培训、定期维护和实际维护、估计预算和实际费用等。有时我们通过使用布尔属性(例如“计划”)来解决这个问题、“完成”、“完成”或“批准”在一个实体中。其他时候,我们使用单独的实体,但尚未就更好的选择达成共识。
您认为解决此类问题的最佳选择是什么?一个 PlanificationEntity 和一个实际的实体?只是一个布尔值?
解决方案
规划实体应称为配置实体。比如drillConfiguration和drill。DrillConfiguration 可以具有钻孔日期和时间以及任何其他属性。而钻头是具有用于钻头配置的外键属性的实际钻头。那是我的两分钱
推荐阅读
- javascript - 尝试对用户创建的输入值求和
- flutter - 如何在没有任何包的情况下访问音频元数据?
- c++ - 在这种情况下,调用我的函数之前 std::cout 会做什么?
- sql - 在过滤后仅选择 SQL 中的最小值包括变量?
- hyperledger-fabric - getHistoryForKey 的历史从何而来?
- c++ - 为什么我的小于运算符没有处理?
- sql - Oracle:将 DD-MM-YYYY 转换为 MON-YYYY
- firebase-realtime-database - 为什么我不能直接从我的 Arduino 连接到 Firebase 实时数据库?
- c - 如何使用 C 在 bash 中模拟信号(Ctrl+\ 和 Ctrl+C)?
- javascript - Telerik AutoCompleteBox for AJAX - 使用 Javascript 设置焦点?