有没有人知道或有任何网站的链接,这些网站描述了如何为复式记帐系统设计数据库模式的细节?
我确实找到了一堆文章,但没有一篇很有说服力。如果有人能帮我的话我会很感激的。
发布于 2013-03-23 03:55:22
创建以下表
为了简单起见,我们将省略account_type表、contact_type表等。
确定表之间的关系并将其设置为
一个联系人可以有多个事务,但每个事务只能有一个联系人(一对多的relationship)
我们有以下模式(一对多关系):
CONTACT ———< TRANSACTION ———< LINE_ITEM >——— ACCOUNT
向每个表添加适当的字段
联系
的
根据需要创建任意数量的新事务
例如,要在数据库中添加新交易,请在交易表中添加新记录并填写字段,选择联系人姓名,输入日期等,然后将新的子记录添加到每个受影响账户的父交易记录中。每条交易记录必须至少有两条子记录(复式记账系统)。如果我花了20美元现金购买了一些奶酪,请向子记录中的事务记录添加子记录,选择cash account并在amount字段中记录−20.00 (负数)。添加新的子记录,选择杂货帐户,并在amount字段中记录20.00 (正数)。子记录的总和应为零(即20.00−20.00 = 0.00)。
根据上述表中存储的数据在数据库中创建报告
提供数据库中所有记录的查询组织为事务处理行项目子记录按帐户分组,按日期排序,然后按事务处理ID排序。创建一个计算字段,提供事务处理line_items记录中的金额字段和您认为必要的任何其它计算字段的运行合计。如果您希望以借方/贷方格式显示金额,请在数据库查询中创建两个计算字段,其中一个字段称为借方,另一个字段称为贷方。在借方计算字段中,输入公式“如果line_item表的amount字段中的金额为正,则显示金额,否则为null”。在信用计算字段中,输入公式“如果行项目表的金额字段中的金额为负,则显示金额,否则为null”。
基于这个相当简单的数据库设计,您可以不断添加更多字段、表和报告,从而增加数据库的复杂性,从而跟踪您或您的企业财务状况。
发布于 2011-04-02 20:55:47
我想我还是试一试吧。感谢您的意见-我会根据任何人的反馈来完善设计。现在我将使用SQL Server (2005) T-SQL语法,但是如果有人对其他语言感兴趣,请让我知道,我将添加其他示例。
在double-entry bookkeeping system中,基本元素是帐户和事务。基本的“理论”是accounting equation:权益=资产-负债。
结合会计等式中的各项和两种类型的名义帐户(收入和费用),帐户的基本组织结构简单地是嵌套帐户的森林,(最小)五个树的根是:资产、负债、权益、收入和费用之一。
我正在研究用于层次结构的良好SQL设计...稍后我会用具体的内容更新它。
SQL Team文章More Trees & Hierarchies in SQL中记录了一个有趣的层次结构设计。
每笔交易都包含平衡的借方和贷方金额。对于每笔交易,借方金额和贷方金额的总和必须完全相等。每个借方和贷方金额都绑定到一个帐户。
更多后续内容...
https://stackoverflow.com/questions/2494343
复制