`
heilwolf
  • 浏览: 32753 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

进销存项目数据库设计

阅读更多
这个项目是依附于一套收银系统的,采用SSH架构。
第一步先设计好数据结构,需要在原收银系统数据结构上面搭建,需要将财务系统也考虑在里面,现在对财务这块没太大概念,先按进销存来吧,后面再扩展。
这之前先了解下进销存软件的基本知识吧。

学习中。。。 。。。

將企業所有的庫存動作都歸納出來,放入一個"動作關系表"。每個動作對應的單據及產生的庫存結果及財務結果在動作表上做出標識。(這樣進出庫動作可以自定義,可以滿足不同企業有不同的動作。)

當庫存系統與財務系統隔離的時候。庫存只管庫存是不管金錢的。財務系統可以通過“動作”找到原始單據,查詢出單價然後依據財務規則來計算單價及其他財務金額。這樣寫庫存系統的人可以不管財務規則。模塊間就能良好隔離

常見進銷存的數據流向:
原始單據  -->算法A-->庫存數據-->算法C-->統計庫存...
          -->算法B-->財務數據-->算法D-->計算成本


看到一个进销存数据库设计,比较简单但是有些参考意义,稍微做了些修改记录下来

商品明细表(商品ID,名称,规格,颜色,单位,所属类别)
进仓主表(进仓ID,供应商ID,进仓日期,原始凭证,入库类型)
进仓明细表(进仓ID,商品ID,数量)
出仓主表(出仓ID,部门,领料日期,领料单号,出库类型)
出仓明细表(出仓ID,商品ID,数量)

--为数据数据处理添加视图
create view qry进仓单
as
select b.商品ID,a.进仓日期,进仓数量=sum(b.数量)
from 进仓主表 a join 进仓明细表 b on a.进仓ID=b.进仓ID
group by b.商品ID,a.进仓日期

create view qry出仓单
as
select b.商品ID,出仓日期=a.领料日期,出仓数量=sum(b.数量)
from 出仓主表 a join 出仓明细表 b on a.出仓ID=b.出仓ID
group by b.商品ID,a.领料日期

go
create view qry进出记录
as
select 商品ID=isnull(a.商品ID,b.商品ID)
,a.进仓日期,进仓数量=sum(a.进仓数量)
,b.出仓日期,出仓数量=sum(b.出仓数量)
,日期=isnull(a.进仓日期,b.出仓日期)
from qry进仓单 a full join qry出仓单 b
on a.商品ID=b.商品ID and a.进仓日期=b.出仓日期
group by isnull(a.商品ID,b.商品ID),a.进仓日期,b.出仓日期,isnull(a.进仓日期,b.出仓日期)

--得到要求的结果
--进出记录表
select a.*
,进仓日期=convert(varchar(10),b.进仓日期,120),b.进仓数量
,出仓日期=convert(varchar(10),b.出仓日期,120),b.出仓数量
,当前库存=isnull((select sum(进仓数量) from qry进仓单 where 商品ID=a.商品ID and 进仓日期<=b.日期),0)
-isnull((select sum(出仓数量) from qry出仓单 where 商品ID=a.商品ID and 出仓日期<=b.日期),0)
from 商品明细表 a left join qry进出记录 b on a.商品ID=b.商品ID
order by a.商品ID,b.日期

--当前库存表
select a.*,b.当前库存
from 商品明细表 a left join (
select 商品ID,当前库存=isnull(sum(进仓数量),0)-isnull(sum(出仓数量),0) from qry进出记录 group by 商品ID
)b on a.商品ID=b.商品ID
order by a.商品ID


OK开始自己的数据结构搭建

供货商表
门店表
操作员表
仓库表

商品总分类表
商品表
商品计量表


入库单表
入库单明细
退库单表
退库单明细
出库单表
出库单明细
退货单表
退货单明细
销售表
销售明细

库存表
库存修改记录表


订单记录表

仓位描述表
库存修改记录表

营业结算表
营业统计表


先这些吧
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics