软件开发应注意的细节(3)_数据的统计

来源:互联网 发布:淘客助手插件 mac 编辑:程序博客网 时间:2024/06/11 00:20

   先举一个库存的统计做为例子,在做库存统计时,一般的做法是这样的,先设计一个库存余额表,所有与库存相关的单据写入库存余额表里,在统计库存时,从库存余额里直接读取,很多人觉得这样做读取库存很快。不过,这样做有个很麻烦的问题,就是有进数据不准确,而且软件维护量很大。有几个问题需要注意的:
1、每一次进仓、销售、调仓等等单据,确认或审核后,写入库存余额表,而且要保证数据的一致,如果要删除进仓单,就要先反审核(反审核时,又要从余额表里减出来),才可以删除当前的进仓单。
2、到了月底转下个月时,一定要结帐,而且结帐之前一定要把所有相关的单据要审核(或确认),如果不结帐,下个月就不能开单,这个问题就麻烦了,很多客户用系统时,很多时候上个月还没来得及结账,这个月就要开单审核了。
3、保证所有与库存相关的单据与余额表的数据要一致性,这个难度很大的,虽然有事务保护,但是还是会出现不一致的现象,也就是为什么库存总帐与库存明细帐对不上的原因,多数原因是在这里的。

    其实我们设计时,不需要有一个库存余额表的,所有相关的库存单据确认(或审核)时,只是一个标志而已,那库存统计查询时,原单统计就可以了,原单统计有几个好处:
1、软件维护大大降低,如果计算库存错了,只是改一改统计库存的存储过程就行了。
2、可以不需要结帐这个功能,上个月是否要不要结帐都不影响这个月的开单。

但也有另外一个问题:统计的速度,这就要求开发人员把数据库(包括字段、索引等等)、存储过程的写法、视图等进行优化,否则统计的速度会比较慢的。