Database 银行数据库设计问题

Database 银行数据库设计问题,database,database-design,banking,Database,Database Design,Banking,我正在尝试为银行业建立一个数据库。我为每个账户——贷款、存款、支票账户——以及支付方式——支票、借记卡和现金——创建了一个表 我的问题是知道所有表之间都可以进行事务处理,我应该如何处理表之间的事务? 例如,客户可以使用借记卡取款,从支票账户转账到贷款账户,或使用支票存款到支票账户 我的第一个解决方案是为所有交易和基数(0…1n)创建一个交易表,这样只有一种支付类型和一个帐户,所以我应该使用它,还是只为两个表之间的每个关系创建一个交易表 如果“我为每个账户、贷款、存款、支票账户创建了一个表”意味着

我正在尝试为银行业建立一个数据库。我为每个账户——贷款、存款、支票账户——以及支付方式——支票、借记卡和现金——创建了一个表

我的问题是知道所有表之间都可以进行事务处理,我应该如何处理表之间的事务?

例如,客户可以使用借记卡取款,从支票账户转账到贷款账户,或使用支票存款到支票账户

我的第一个解决方案是为所有交易和基数(0…1n)创建一个交易表,这样只有一种支付类型和一个帐户,所以我应该使用它,还是只为两个表之间的每个关系创建一个交易表

如果“我为每个账户、贷款、存款、支票账户创建了一个表”意味着你有四个以上的表,那么你就做错了。您应该有一个客户表和一个交易表。交易是指资金从一个账户转移到另一个账户,因此简单的交易表将包含id、交易日期、信用账户、借记账户、金额等字段。在会计中,经常有涉及多个贷记和借记账户的交易,因此不能在上述简单的交易方案中维护这些账户

如果要表示贷款,可能还需要另外两个表:一个表包含所有贷款的原子细节(给定日期、贷款账户、总金额、名义利率等),另一个表包含每笔贷款的预计还款

不需要进一步的表来表示存款或支票账户:它们可以表示为账户,类型字段指定它们是哪种类型