Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 银行账户表设计_Sql_Database Design - Fatal编程技术网

Sql 银行账户表设计

Sql 银行账户表设计,sql,database-design,Sql,Database Design,我正在为我和我的妻子写一个简单的银行账户管理器,如果好的话,也许可以再发布一点 但现在,我正在为数据库设计银行账户 目前,我有一个表来保存银行账户,其中有类型、最低余额等。我还有一个交易表,带有账户id,因此在这个账户上,我向这个第三方支付了50美元。或者,我从这个聚会上收到了100美元 但是现在,账户间转账——我想把20美元转到我的信用卡上,这是另一个账户。简单的答案就是在发送账户中有一个借方,在接收账户中有一个贷方。但是,我认为最好让account_transaction表保存来自第三方的付

我正在为我和我的妻子写一个简单的银行账户管理器,如果好的话,也许可以再发布一点

但现在,我正在为数据库设计银行账户

目前,我有一个表来保存银行账户,其中有类型、最低余额等。我还有一个交易表,带有账户id,因此在这个账户上,我向这个第三方支付了50美元。或者,我从这个聚会上收到了100美元

但是现在,账户间转账——我想把20美元转到我的信用卡上,这是另一个账户。简单的答案就是在发送账户中有一个借方,在接收账户中有一个贷方。但是,我认为最好让account_transaction表保存来自第三方的付款和收款,并创建一个帐户间转账表。所有这些都是“发送账户id、接收账户id和金额”加上所有审计类型字段

好处是引用完整性。只键入一个金额,并且该表确保存在有效的“发件人”和“收件人”帐户。唯一的问题是,当我显示一个事务列表时,我需要从两个表中进行选择,然后执行联合或其他操作


这个新表是一个很好的设计,还是只保留一个事务表,并且有一个可为空的“其他账户id”,并设置为当事务类型为“账户间转账”时?

IMO保持它的简单性,对于某些类型的事务没有任何“特殊规则”。账户间转账与其他转账一样,所以请将其保存为账户交易中的其他转账。以后你可以在一份报告上特别注明这两个账户是否属于你。

你一定有一个非常宽容的妻子