ERD设计可记录用户所做的更改

问题描述

我正在尝试为一个小型项目设计ERD模式。这是一个跟踪贷款(金额,利息,向谁,还款日期等)的贷款业务。如果您有什么建议的话,这是我到目前为止的工作。但是我的主要问题是:

我如何跟踪对贷款的更改?例如,放款人更改了需要还款的日期,我通常只是进入数据库并更新日期值。但是,现在我希望能够记录原始值(日期)是什么。还是拥有现有贷款的某人又拿出另一笔贷款,我是否会在“贷款”表中使用合并后的值创建新记录?以及如何存储借出的原始值是多少以及新的额度是什么?

我想我可能需要某种DW?让我知道你的想法。干杯

Current ERD diagram

解决方法

如何跟踪对贷款的更改?

创建一个贷款调整表。无论将一栏或两栏都进行了调整,您都将在利率行和还款日期两者中输入。

每当您选择“贷款”行时,您都必须检查是否存在一个或多个调整行。如果您只想进行最近的调整,请添加WHERE MAX(修改时间戳记)。

Loan Adjustment
---------------
Loan Adjustment ID
Loan ID
Borrower ID
Lender ID
Modified Interest Rate
Modified Repayment Date
Modified Timestamp

或者有贷款的人又拿了另一笔贷款,我该怎么办 用组合值在“贷款”表中创建新记录?

不。您在带有新的贷款ID的贷款表中创建一个新的贷款行。您可以在“贷款”表中的借款人ID上创建索引,以查看借款人是否有一笔以上的贷款。

否,您不需要数据仓库,除非您想要一个地方来存放已偿还或拖欠的贷款。有效贷款属于运营关系数据库。

,

类似于以上答案,但我将创建“贷款标头”表和“贷款明细”表。 Header表将保留不变的元素,Detail将保留可更改元素+ FK到Header,有效日期字段以及可能的当前标志

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...