我正在设计一个在线会计系统作为大学项目。我有以下简单的交易。
现金销售额$ 300
现金从史密斯偷走250美元
电费单支付50美元
我已提及Double Entry Accounting in a Relational Database 并设计了上述交易表格(减号表示已记入金额)。 id 1和2属于事务1,id 3和4属于事务2,依此类推。如何在MySQL数据库中将每两行标识为单个事务。例如,如果要选择的第一个事务,我怎么能这样做,因为两行之间没有关系。如果这个设计听起来不太好,你可以建议一个替代方案。
答案 0 :(得分:1)
除非确实有必要,否则你应该放弃两行设计。我会合并行并添加一个额外的字段,你可以存储,如果它是现金或不存在,金额值将是+当贷记和 - 如果借记(或逆转,我不擅长会计:))
答案 1 :(得分:0)
干得好。
我唯一可以添加的是借记和贷记的两个数字列。这看起来就像是教科书或旧书记簿中的期刊。它会更明显一点,处理任意数量的双重条目。如果您愿意,可以通过借记卡计算当前金额列。
我认为你不需要把它作为关系,除非你想要一个特定的会计科目表作为一个表格,更复杂,更不优雅。但是,为了更灵活,您可以从期刊中生成实时会计科目表。
答案 2 :(得分:0)
由于您使用的是MySQL关系数据库,因此可以添加几个表。
要回答您的问题,您需要创建另一个表来保存每笔交易的一般信息(例如,您可以将其称为TRANSACTIONS
)。此表可以包含Transaction ID
和Date Column
。
现在,引用当前现有表中Transaction ID
表的TRANSACTIONS
列。这意味着记录1和2将有一个Transaction ID
,因此您可以在查询中将其引用。