在会计电算化软件中设计凭证数据库的几种方法转摘(粗浅)

会计电算化取代了低效率的手工核算方式,是会计技术的变革和更新,
而正确建立凭证数据库的结构又是设计会计电算化软件的关键,
因为所有的会计信息都是通过它进行输入和进一步处理的。
我们曾经研究过大多数的会计电算化软件,发现其凭证数据库的结构多种多样,在进行进一步处理时也各有所长。
下面就几种凭证数据库结构的设计与同行们共同探讨一下。
下面的叙述只对关键字段进行讨论,程序设计语言用Foxpro2.5。
第一种设计方法
数据库结构为:
字段 字段名 类型 宽度 小数 字段含义
1 RQ 日期 8 日期 2 PZH 字符 6 凭证号 3 ZY 字符 20 摘要 4 KMH 字符 11 记帐科目 5 JF 数字 12 2 借方金额 6 DF 数字 12 2 贷方金额 . . .
这样设计以后,在进行科目余额计算时较为方便,只要计算出借贷方发生额即可,
程序设计如下: SUM JF,DF TO JFHJ,DFHJ FOR KMH=记帐科目 本期余额=上期余额+JFHJ-DFHJ
但是我们要寻找对方科目时却出现麻烦,需要我们约定每一张凭证的第一条记录为一借多贷凭证的借方或一贷多借凭证的贷方,
而且当时出现一借一贷凭证时,我们还要将它分为两条记录来存放,占用了磁盘空间。
第二种设计方法
数据库结构为:
字段 字段名 类型 宽度 小数 字段含义
1 RQ 日期 8 日期 2 PZH 字符 6 凭证号 3 ZY 字符 20 摘要 4 KMH 字符 11 记帐科目 5 FX 字符 1 金额方向 6 JE 数字 12 2 记帐金额 …
嗯 这样设计以后,在进行科目余额计算时,只要计算出借贷方发生额即可,但是程序设计需要变动如下: SUM IIF(FX="J",JE,0),IIF(FX="D",JE,0)TO JFHJ,DFHJ FOR KMH=记帐科目 则: 本期余额=上期余额+JFHJ+DFHJ 这种设计方法存在的问题同第一种方法一样,但是它又比第一种方法有所创新,通过加入借贷识别码(只占用1位),而减少一个金额字段(占用12位),从而少占用磁盘空间,这对于小容量磁盘来说是很重要的。
第三种设计方法
数据库结构为:
字段 字段名 类型 宽度 小数 字段含义
1 RQ 日期 8 日期 2 PZH 字符 6 凭证号 3 ZY 字符 20 摘要 4 JFKMH 字符 11 借方记帐科目 5 DFKMH 字符 11 贷方记帐科目 6 JE 数字 12 2 记帐金额 …
这样设计以后,在进行科目余额计算时,只要计算出借贷方发生额即可,但是程序设计较为麻烦,需要变动如下: SUM IIF(JFKMH=记帐科目,JE,0),IIF(DFKMH=记帐科目,JE,O)TO JFHJ,DFHJ 则: 本期余额=上期余额+JFHJ-DFHJ 这种设计方法如果我们要寻找对方科目时却比较容易,JFKMH的对方科目是DFKMH,反之亦然。而且出现一借一贷凭证时,我们不必将它分为两条记录来存放,只用一条记录就足够了,节省了磁盘空间。 我们还发现一些库结构设计比较繁琐,不利于数据进一步处理,在这里我们就不进行讨论了。 这些设计方法对输入凭证以后的处理(如:记帐、结帐)都有影响,具体应用哪一种库结构,还要在具体的设计中取长补短。
原文地址:https://www.cnblogs.com/linbaba/p/1375065.html