我正在编写一个简单的银行数据库模式。这是为了学习的目的,而不是真正的银行。现在我被困在设计金融交易上了。
交易可以是不同类型的:
此外,所有事务类型都有创建的金额和日期。如何更好地设计具有多种事务类型的数据库模式?这也应该是很容易得到一个帐户的所有交易的列表。最简单的设计方法就是为每种事务类型创建一个单独的表。示例模式:
但是这个设计有一些问题。
另一个想法是创建一个表transaction
,该表对于创建的所有事务、事务类型、金额和日期具有唯一的id。模式:
该模式解决了事务id唯一性的第一个问题。但还有另外两个问题。
你知道它是如何在真实的银行系统中设计的吗?如果有任何建议,我会很高兴的!提前感谢!
发布于 2021-10-13 14:03:34
@zenno2 --如果您在最上面描述的是事务类型的范围,您可能会过度考虑这一点。这本质上是与帐户的基本关系(这是主要的或核心的)。
股份(S)--例如,账户01可能有一个储蓄账户、一个支票账户和一个汽车贷款,因此储蓄(1)、储蓄(2)和贷款(1)交易是这里的一切;存款、支付、转账--都在同一个表格中。代码表示每一行的用途:d表示存款,W表示提款,T表示转账。(“付款”将是提款)
如果您想变得更漂亮,您可以为储蓄和贷款提供单独的事务表--这将允许在较小的设计中提供更细粒度的数据。然后记住上面@bbaird发布的内容--如果你能把你的注意力集中在这上面,那么你就在回家的路上了。
https://dba.stackexchange.com/questions/301066
复制相似问题