我正在创建一个银行数据库,我在这里遇到了以下问题。
假设CustomerA有一个帐号4444,通过这个我访问与客户相关的所有详细信息,我有一个单独的主键,但我通常会查询此帐号。
现在,由于某种原因,CustomerA的账号从4444变为5555,而新的CustomerB的账号为4444.
我希望我的数据库能够处理这样的变化,我应该采用什么方法?
我开发的方法是:为帐号分配时间戳,这将有助于我有效查询以找出当前与帐号相关的客户名称。
但我无法设计查询:
答案 0 :(得分:0)
我将假设这是一项教育活动而非真正的银行应用程序。
仅凭帐号识别客户信息并不合理。客户可以拥有多个帐户,并且多个客户可以共同持有帐户,因此帐号不一定是客户的合适密钥。我建议你为此创建一个客户编号。
我严重怀疑任何一家银行都会不谨慎地为新客户分配旧账号。很可能这可能发生在自上次使用帐号以来已经过去多年之后,但可能不是您需要在数据库设计中预期的事情。同样,我不希望删除或覆盖客户帐号,因为帐户详细信息(包括帐号)通常会保留数年(可能是数十年)。