处理银行账户的数据库历史



我正在创建一个银行数据库,我在这里有以下问题。

假设CustomerA有一个账号4444,通过这个我访问与客户相关的所有细节,我有一个单独的主键,但我通常查询这个账号。

现在,由于某种原因,CustomerA的账号从4444更改为5555,并且给了一个新的CustomerB账号4444。

我想让我的数据库处理这样的变化,我应该采用什么方法?

我开发的方法是:为账号分配时间戳,这将帮助我有效地查询,以找到与客户名称相关的当前账号。

但是我不能设计这样的查询:

  • 当我使用4444访问CustomerB时,只显示与B相关的当前详细信息,而不是指向CustomerA的4444,和
  • CustomerA在被5555访问时显示所有细节,包括被4444存储在数据库中的细节

我假设这是一个教育练习,而不是一个真正的银行应用程序。

仅仅用帐号来识别客户信息是没有意义的。客户可以拥有多个帐户,并且帐户可以由多个客户共同持有,因此帐户号码不太可能是客户的合适密钥。我建议您为此创建一个客户号码。

我非常怀疑任何一家银行会轻率地把旧账号分配给新客户。这可能发生在账号最后一次使用多年之后,但这可能不是您在数据库设计中需要预料到的事情。同样,我也不希望删除或覆盖客户的账号,因为包括账号在内的账户详细信息通常会保存数年(可能是数十年)。

相关内容

  • 没有找到相关文章

最新更新