导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

谁能帮我设计一个工厂的仓库管理的数据库,收到后300分相送。只为表谢意!

Angelnet 2003-12-19 05:09:56
我们老总叫我写一个仓库管理程序。可是我不知道怎么写,还有我们工厂数据量比较大。数据库是用SQL 2000 谁能帮我设计数据库。
应该有些什么表,各表有什么字段,不用计算成本。
谢谢大家了。
...全文
112 点赞 收藏 22
写回复
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Angelnet 2003-12-23
问题又出来了,
我的意思是:入库明细表:入库ID,数量,备注
采购入库主表:入库ID,供应商ID...
作料退仓表:入库ID,部门ID...
但是这样麻烦出来了,入库明细表的入库ID怎么和采购入库主表、余料退仓主表建立关系呢?  我想建立级联删除的关系。

如果是两个表,供应商ID和部门ID又怎么和供应商表、部门表建立级联更新的关系呢?
谢谢各位!
回复
wjzhn 2003-12-22
经典,教会我怎么来建仓库数据库了。高手!
回复
fangke 2003-12-22
呵呵,不错,可还有,"先进先出","后进先出",对进仓表中应增加一字段(已出数量),出仓表中也可增加一字段(进仓单号),进仓时除了更新库存表外,再根据,"先进先出"或"后进先出"的方式查询更新进仓表中的本字段,对成本核算有用
回复
Angelnet 2003-12-22
我现在分不够,我在去弄点分。不好意思!
我有600分后,我马上结,说话算话。
回复
Angelnet 2003-12-21
完了,我是用vb.net的,谢谢大家!
回复
对进销存原理不清楚。我们工厂管理也是一团糟

去这里下载源程序.
http://www.codestudy.net/codesource/default.asp

这样解释很难说清楚
回复
txlicenhe 2003-12-20
http://www.codestudy.net/book/list.asp?id=1001
简介:
Delphi进销存程序设计(含源代码)
回复
Angelnet 2003-12-20
zjcxc(邹建) 主要是我对进销存原理不清楚。我们工厂管理也是一团糟。
现在主要是用程序来规范。
你能把具体步骤写出来发给我吗?^_^
我的邮箱:Longsea@taitungbox.com

不知道怎么感谢了!!!!
回复
这个要把具体的实现步骤写出来,可以写一大篇了.

你那里理解不到?
回复
victorycyz 2003-12-20
一般的仓库管理系统,很多书上都有示例的,还有一些商业的仓管软件,都是可以参考的。

更重要的,是你要结合你们公司的实际情况进行合理的设计,还要看设计要求到什么程度。比如,是不是有多个仓库?是不是有套件组件?半成品方面的处理是比较麻烦的,要多加考虑。还有,要不要加进生产、采购管理等。还有,公司的管理流程有没有什么特殊的地方。比如,我曾遇到一家琥珀加工的企业,对边角料的处理就很特别。这些都要结合实际情况,考虑数据库的合理设计。
回复
Angelnet 2003-12-20
并将入/出仓单加上年月字段,用年月+单据编号做复合主键.

每个月,月结的时候,生成下个月的期初库存.
这样,计算当前的实时库存,就只需要用:
期初库存数量+本月入仓-本月出仓
就可以了.

这一过程怎么实现呢?我不明?
              非常感谢你的耐心解答。
回复
Angelnet 2003-12-20
怎么有这么恐怖的人.......
zjcxc(邹建) 我太佩服了。
回复
dlpseeyou 2003-12-20
经典,收藏
回复
前台由用户输入盘点数量.
保存后,根据实际库存与盘点数量的差异.生成盘亏/盘盈单.


库存的问题,因为这只是一个简单的例子.所以库存是实时计算的.
数据量多时,你应该考虑每个月做结转.

增加一个专门的库存表.
create table 库存表(年月 varchar(6) not null,物料id varchar(6) not null,期初库存数量 decimal(20,2))
alter table 库存表 add constraint PK_库存表 PRIMARY KEY CLUSTERED (年月,物料ID)

并将入/出仓单加上年月字段,用年月+单据编号做复合主键.

每个月,月结的时候,生成下个月的期初库存.
这样,计算当前的实时库存,就只需要用:
期初库存数量+本月入仓-本月出仓
就可以了.
回复
--盘点表可以由当前库存生成

select a.*,b.当前库存,盘点数量=0
into 盘点表
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
回复
我的进仓有两种:采购进仓、余料退仓。
出仓的也是两种:生产领料、采购退货。

如果只有这两种,可以直接在单据编号上区分.
JJ 表示采购进仓 JT 表示余料退仓
JJ-00001 表示采购进仓
JT-000001 表示余料退仓

出仓类似.
也可以加多一个单据类型,来区别
回复
--1.日记账就是进出记录表加日期限制,可以实现指定日期到指定日期的报表

--进出记录表
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
where b.日期 between '2003-01-01' and '2003-01-01' --加上日期就行了.
order by a.物料ID,b.日期
回复
Angelnet 2003-12-19
我下班了,明天来接分,希望大家多帮忙,不然我死定了,老总问我,我说还在想,可是都想了一个月了。
我们公司数据量比较大,谢谢大家了!请大家一定要帮我!
回复
Angelnet 2003-12-19
盘点怎么得到,还有日记帐。谢谢大家!
回复
erigido 2003-12-19
你可以再做张盘点表和盘点明细表。。。。。
create table 盘点主表 (盘点ID varchar(20) primary key
,仓库ID varchar(10)
,盘点日期 datetime
,领料单号 varchar(10))
create table 盘点明细表 (盘点ID varchar(20) not null
,物料ID varchar(6) not null
,库存数量 decimal(20,2)
实际数量decimal(20,2))

ALTER TABLE dbo.盘点明细表 ADD CONSTRAINT FK_盘点明细表_物料明细表 FOREIGN KEY
(物料ID) REFERENCES dbo.物料明细表(物料ID)
ON UPDATE CASCADE
ON DELETE CASCADE
可以在这两张表上进行库存操作。。。。。。

回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告