1、實時庫存表+庫存出入記錄表
將出入庫單據表和庫存表分開,當出入庫單據被確認時,修改庫存表,庫存表中總是隻保留當前的庫存數據。這樣庫存表設計大致如下:
庫存表(倉庫編碼、商品編碼、庫存屬性、庫存餘額、庫存價格等)
出入庫表(出入單編號,出入日期,調出倉庫,調入倉庫,商品編碼,數量)
這樣的邏輯比較自然,但是,在用戶要求追溯歷史庫存的時候,就比較困難了,只能根據當前庫存和單據,進行倒推。要查詢某歷史時間點的庫存時,時間越前,計算量越大。
2、實時庫存+庫存變化記錄
將出入庫單據表和庫存表合爲一體,每條單據明細記錄上都加上該單據發生後的即時庫存餘額。簡單的說,就是完全模擬原有庫存手工帳的帳頁形式。
舉例來講,在這種模式下,出入庫單據輔表(庫存表)的結構設計就應大致如下:
單據號、貨號、批號、出入庫方向、數量、價格、貨主編號、倉庫編號、庫存屬性、庫位編號、庫存餘額、庫存價格、生效時間、失效時間
這樣,查詢歷史任意時間點的庫存數量就會變得很簡單。但是這個模式的缺點是,單據確認生成庫存帳後,將絕對無法再修改,如果有錯誤也只能做沖帳處理。而且顯然,此模式的出入庫單據確認時,所需要進行的操作會是非常複雜的。
3、定期結算表+庫存出入記錄表
如:月結表(年月,庫別,料號,庫存量)
出入庫表(出入單號,出入日期,調出倉庫,調入倉庫,料號,數量,單據性質)
查詢庫存時用:庫存量=月結庫存+月結之後入庫彙總-月結之後出庫彙總
缺點是追溯歷史庫存查看任一日期範圍內的期初庫存、期中入庫、期中出庫、期末庫存記錄的時候計算麻煩。