Database design 在数据库中为会计应用程序存储(子)日记账和(子)分类账

Database design 在数据库中为会计应用程序存储(子)日记账和(子)分类账,database-design,accounting,Database Design,Accounting,在许多不同的会计应用程序实现中,有两种主要的数据库设计方法用于保存日记账和分类账数据 只保留日记账信息&那么分类账只是日记账的一个视图(因为日记账总是比分类账保留更多的信息) 将日记账保存在单独的表中,然后将日记账分录过账到分类账表中,从而复制数据 当涉及到明细分类账/日记账时,有一些实现将所有信息都包含在一个日记账/分类账表中,然后使用科目表作为基础为不同的明细分类账/分类账提供不同的视图 我看到人们为每个子日记账/分类账设置了专门的表格,导致表格PAUR与特殊日记账类型(应收账款、应付账款、

在许多不同的会计应用程序实现中,有两种主要的数据库设计方法用于保存日记账和分类账数据

  • 只保留日记账信息&那么分类账只是日记账的一个视图(因为日记账总是比分类账保留更多的信息)

  • 将日记账保存在单独的表中,然后将日记账分录过账到分类账表中,从而复制数据

  • 当涉及到明细分类账/日记账时,有一些实现将所有信息都包含在一个日记账/分类账表中,然后使用科目表作为基础为不同的明细分类账/分类账提供不同的视图

  • 我看到人们为每个子日记账/分类账设置了专门的表格,导致表格PAUR与特殊日记账类型(应收账款、应付账款、采购、销售等)一样多

  • 目前,我的想法是,最多应该只有一个日记账和一个分类账表&然后在查询时通过科目表中的定义编译专门的日记账/分类账。我甚至考虑只使用日记账表,然后在查询时将分类账编译为Joirnals的子集


    我想检查一下我是否遗漏了什么?有单独的日记账和分类账表的真正原因吗?特别是,有专门的日记账>专门的分类账>普通日记账>普通分类账表的原因吗?因为它似乎有大量的数据重复、插入、更新,删除异常的原因我目前看不到?

    主要原因可能是查询SLA。 从我的观点来看,我更喜欢用日记账实体中的所有条目建立一个3NF数据模型。 然后将日记账链接到分类账、COA等。 通过这种方式,您可以使用视图构建分类账:在3NF模型上,您需要使用视图构建语义模型(可以是具有严格SLA的查询的物化视图)


    通过这种方式,您可以减少重复,仅具体化关键查询,并且您对将来与其他数据的集成/分析持开放态度

    谢谢你的回答。让我澄清一下:在一个地方你们说日记账链接到分类账(听起来像分类账是单独的表),在另一个地方你们说分类账是用视图构建的(听起来像并没有分类账表)。你能确认一下是哪种情况吗?感谢所有分录都在日记账中,实体“分类账”只包含与特定分类账相关的少数属性(必要时还包括从日记账中提取的聚合值)。要从分类账分录中提取分类账,您必须将模型从分类账导航到日记账。但底线是,您希望分类账是一个视图(在日记账上),而不是一个单独的表?是的,没错。这可以保持规范化,并且您可以使用某种优化(索引、分区等)来有效地检索特定分类账的条目。嗯……我不知道为什么您的答案没有获得奖金。这样做的一个选项消失了。