在数据库中存储(子)日志和(子)分类帐以用于会计应用程序
Storing (Sub)Journals and (Sub)Ledgers in DB for accounting app
在许多不同的会计应用程序实现中,有两种主要的数据库设计方法来保存日记帐和分类帐数据。
只保留日志信息,然后 Ledger 只是日志的一个视图(因为日志总是比 ledger 保留更多的信息)
将日记帐单独保存 table,然后将 post 日记帐分录到分类帐 table 从而复制数据
当谈到 sub-ledgers/journals 时,有些实现将所有信息集中在一个 journal/ledger table 中,然后针对不同的子 journal/ledger 使用不同的视图使用会计科目表作为基础
我看到人们为每个子 tables 专门设置了 journal/ledgers 导致拥有与特殊期刊类型一样多的 table paurs(应收账款、应付账款、采购、销售等...)
目前,我的想法是,最多应该只有一个日记帐和一个分类帐table,然后专门journals/ledgers将在查询时通过会计科目表中的定义进行编译.我什至可能考虑仅使用 Journal table,然后在查询时将分类帐编译为 Joirnals 的子集。
我想检查一下我是否遗漏了什么?有单独的日记帐和分类帐 tables 是否有一些真正的原因,特别是,是否有理由拥有专业日记帐 > 专业分类帐 > 普通日记帐 > 总分类帐 tables,因为它似乎有很多数据复制、插入、更新、删除异常,原因我目前看不到?
主要原因可能是查询 SLA。
从我的 POV 来看,我更喜欢使用 Journal 实体中的所有条目制作 3NF 数据模型。
日记帐然后链接到分类帐、COA 等。
通过这种方式,您可以使用视图构建分类帐:在 3NF 模型上,您需要构建一个使用视图制作的语义模型(可以是具有严格 SLA 的查询的物化视图)。
通过这种方式,您可以减少仅实现关键查询的重复,并且您可以为将来 integrations/analysis 其他数据打开大门。
在许多不同的会计应用程序实现中,有两种主要的数据库设计方法来保存日记帐和分类帐数据。
只保留日志信息,然后 Ledger 只是日志的一个视图(因为日志总是比 ledger 保留更多的信息)
将日记帐单独保存 table,然后将 post 日记帐分录到分类帐 table 从而复制数据
当谈到 sub-ledgers/journals 时,有些实现将所有信息集中在一个 journal/ledger table 中,然后针对不同的子 journal/ledger 使用不同的视图使用会计科目表作为基础
我看到人们为每个子 tables 专门设置了 journal/ledgers 导致拥有与特殊期刊类型一样多的 table paurs(应收账款、应付账款、采购、销售等...)
目前,我的想法是,最多应该只有一个日记帐和一个分类帐table,然后专门journals/ledgers将在查询时通过会计科目表中的定义进行编译.我什至可能考虑仅使用 Journal table,然后在查询时将分类帐编译为 Joirnals 的子集。
我想检查一下我是否遗漏了什么?有单独的日记帐和分类帐 tables 是否有一些真正的原因,特别是,是否有理由拥有专业日记帐 > 专业分类帐 > 普通日记帐 > 总分类帐 tables,因为它似乎有很多数据复制、插入、更新、删除异常,原因我目前看不到?
主要原因可能是查询 SLA。 从我的 POV 来看,我更喜欢使用 Journal 实体中的所有条目制作 3NF 数据模型。 日记帐然后链接到分类帐、COA 等。 通过这种方式,您可以使用视图构建分类帐:在 3NF 模型上,您需要构建一个使用视图制作的语义模型(可以是具有严格 SLA 的查询的物化视图)。
通过这种方式,您可以减少仅实现关键查询的重复,并且您可以为将来 integrations/analysis 其他数据打开大门。