如果长年累月,第一种方案是不可取的,第二种方案的缺点还包括每次出入库都需要修改库存,降低了输入速度。我提出第三种方案,就是增加结存表,或者叫做盘点表,每过一段时间做一次结算,结果存入结存表,结存表记录结存时间、product_id,amount,每次计算库存都拿最近的结存表和货物进出表一起计算。至于多长时间一次结存,看具体的情况,可以日、周、月、季、年等

解决方案 »

  1.   

    http://www.regexlab.com/zh/encoding.htm
    http://www.yone.cn/
      

  2.   

    Direction(ID,Name){In,Out}
    Product(ID,Name) 
    ProductMovement(ID,ProductID,Qty,Date,DirectionID)
    ProdcutStockBalance(ID,ProductID,Qty)ProductMovement在产生了记录后立即更新ProdcutStockBalanced的Qty余数。这样就可以方便立即查看产品的当前库存。严重不赞成在Product表中加入 storage,表示库存数量.因为Product本身的属性是没有storage这个属性.并且除了仓存数量,还会有预备使用量,将要到货量,那么这两个同样描述产品的可用数量也要不要放到产品表里呢?
      

  3.   

    http://www.xland.cn/read.php?wid=12027
      

  4.   

    http://www.ddvip.com/program/java/index3/111.htm
      

  5.   

    http://community.csdn.net/Expert/topic/4973/4973411.xml?temp=.2551386