今天在修改测试人员提交的Bug时,发现一个界面如下:
该界面的意图就是查找客户汇款明细情况,涉及到的表有汇款主表,汇款细表,汇款主表与汇款细表用汇款单号进行联系。其实这样的话就没有什么问题了,但是这里多了一个对应计划字段。根据数据库设计该字段来源于另一个表收款计划细表。而唯一能够关联到该字段的是用细表里面的单据号。于是问题出现了。汇款主表和汇款细表是一对多的数据。而汇款细表中的数据如单据号MSL2010100024的对应收款计划有可能有多条如
这样根据查询条件进行查询出来的结果就有会存在多个汇款单号和汇款明细相同,唯一不同的就是这12行对应计划了。而客户在汇总汇款明细的金额的时候就会出问题了。---------
-------------建议和教训:针对数据库设计和表设计以及这样的查询界面的关联都会出现次类似现象,应该在客户要求增加对应计划字段时考虑到这种情形发生。应该让查询界面职责单一化。