Database 依赖数据库中的一个字段
在我提问之前,让我先说明一下背景。 我们致力于发票系统,我们创建发票,验证发票并支付发票 数据库架构包含以下表: 发票Database 依赖数据库中的一个字段,database,validation,architecture,Database,Validation,Architecture,在我提问之前,让我先说明一下背景。 我们致力于发票系统,我们创建发票,验证发票并支付发票 数据库架构包含以下表: 发票 发票项目 收信人 因此,我们验证每个发票项目的数量,并将其与收到的项目数量进行检查(可能相等、较小或较大)。 过程是这样的: 假设发票项目数量为50 我们在发票项上有一个名为credit的字段,该字段在创建时被记入发票项数量的贷方。(表示要验证50个数量) 我们从各种来源接收项目,并在收到项目时及时更新。 假设我们最初有25件物品。 因此,我们将发票项目的信用减少25,并将收到
发票项目
收信人 因此,我们验证每个发票项目的数量,并将其与收到的项目数量进行检查(可能相等、较小或较大)。 过程是这样的: 假设发票项目数量为50 我们在发票项上有一个名为credit的字段,该字段在创建时被记入发票项数量的贷方。(表示要验证50个数量) 我们从各种来源接收项目,并在收到项目时及时更新。 假设我们最初有25件物品。 因此,我们将发票项目的信用减少25,并将收到的项目标记为已完成。 之后,我们得到了另外25个,我们通过减少剩余25个信用来验证 因此,积分现在为0。 这意味着发票已完全验证。因此,我们发送发票进行付款 由于最近开发人员的错误,发生了以下事情 我们没有将发票项目的信用设置为发票项目数量。因此在创建时基本为零。 因此,我们的系统认为其已验证,并向其发送了付款。 两个月后,我们才意识到发票没有得到验证 因此,如果信用证为0,那么现在我们有多个检查来拒绝创建发票 除了进行多次检查外,我们是否有办法解决高度依赖一列的问题。 (此处,发票项目的贷方为0,且未经验证就支付了每张发票)
我正在数据库(架构)级别或应用程序级别寻找任何类型的解决方案。这个问题听起来更像是关于默认列值的问题。您可以将该默认值设置为null,以显式显示“我还没有收到该值的数据”,并继续获取该null值(因为anything+null被设置为null) 另一种方法是创建某种标志列,明确表示“此行尚未处理,不要将该零视为OK” 此外,您还可以验证使用您已经获得的一些数据(如时间戳列或内部联接)是否只能在ok条件下生成行 对于任何解决方案,都可能在模式和应用程序级重构中驱动您