银行数据库设计问题

5
我正在尝试为银行建立数据库。我为每个账户贷款、存款、支票和付款方式——支票、借记卡和现金——创建了一张表。我的问题是,在所有表之间如何处理交易,因为所有表之间都可能发生交易。
例如客户可以使用借记卡取钱、从支票账户向贷款账户转账或使用支票将钱存入支票账户。
我的第一个解决方案是为所有交易创建一个交易表,并使用基数(0...1 n),以便只使用一种付款方式和一个账户。那我应该使用这个方案,还是为两个表之间的每个关系创建一个交易表?
1个回答

3
如果“我为每个账户、贷款、存款和支票账户创建了一个表格”意味着你有超过四个表格,那么你做错了很多。你应该有一个客户表和一个交易表。交易是从一个账户转移资金到另一个账户,因此一个简单的交易表应该包含以下字段:id、交易日期、贷记账户、借记账户、金额。在会计学中,常常存在涉及多个贷记和借记账户的交易,因此这些不能在上述简单的交易方案中维护。
如果你想表示贷款,则可能需要两个更多的表格:一个表格包含所有贷款的原子细节(发放日期、借款人账户、总金额、名义利率等),另一个表格包含每笔贷款的预计还款。
没有必要再使用其他表格来表示存款或支票账户:这些可以表示为账户,其中类型字段指定它们属于哪种类型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接