会计数据库 – 存储交易
您创建一个游戏网站,用户可以在其中购买游戏积分,并将资金存入/存入用户的虚拟账户以进行某些游戏等等。
1
如果你有一个会计师来记录交易,它会被记录下来(可能有点复杂,但你明白了)
TRANSACTION PK_ID1 Cash - $10 (System) PK_ID2 Deposit $10 (System) TRANSACTION PK_ID3 Bank Account - $10 (John) PK_ID4 Deposit $10 (John)
2
作为开发人员,您真的需要浪费2个额外的记录吗? 为什么不这样记录呢…(然后你可能会存储资金来自哪里,在同一存款记录下的其他栏目中的状态)
TRANSACTION PK_ID1 Cash - $10 (system) PK_ID2 Deposit $10 (John)
选项#1优于选项#2和副签证是否有任何真正的优势?
编辑:修改过的问题,删除了CR,DR并用符号替换。
(回答你的问题,但也回应了paxdiablo的答案中提出的一些观点。)
这与查看数据库内部的会计师无关。 使用Double entry,错误很容易追踪; 这是一个会计和国税局的要求,所以实际上,你没有选择,你需要双重进入任何处理公共资金的系统。
这就是会计系统,它是内部的,并处理金钱。 我们完了。
但是,您还要将会计系统与购买/销售系统结合(未明确声明)。 当然,对于你从约翰那里拿走的十块钱,你需要给他任何他为此买的东西,然后记录下来。 约翰购买了价值10美元的游戏积分,如果你跟踪它,那么是的,你还需要:
要明确的是,如果您销售小部件而不是游戏积分,则第二个(小部件跟踪)交易将是:
对每个用户都有一个帐户,对吧。 虚拟的,深奥的或物理的,它是一个法律实体,对其进行交易。 所以我们不要假装它不存在,因为它是虚拟的。 对于游戏,一美元账户加一个游戏(信用)账户。
信用卡/借记卡
我会把CR / DB放回去; 不是CHAR(2),而是布尔值。 当桌子很大时,它会帮助你
WHERE IsCredit = 1
比…快得多
WHERE Amount >= 0.
请注意,使用“> =”,您必须确保每个代码段的编码方式相同,有时不是“>”。 Boolean或char没有这个问题。
就数据而言(这就是你要问的),没有。 您应该将其存储为签名值。 复式簿记不是暴徒所做的事情所以它可以隐藏美国国税局的实际利润:-)
这意味着必须平衡事务(永远不会创建或销毁值,只是转换)。 如果你只是将它们存储在带有符号的一列中,那么平衡交易(和账簿)会容易得多。
在视觉呈现方面,一些会计师可能在不同的栏目中喜欢他们,但绝大多数会产生报告,其中“负面”只是用不同的方式表示(例如用括号括起来)。
很可能是(像许多其他会计事物一样),双列从许多月前开始。 将两列相加然后从正总数中减去负总数以获得当前位置会更容易(而不是以混合方式添加和减去)。 但这是我的假设。
另见这里 。
上述就是C#学习教程:会计数据库 – 存储交易分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1031713.html