进销存数据库设计

byj2001329 2004-10-14 08:28:22
谁能给我发一套完整的进销存数据库设计学习参考一下
baiyj@kingdeer.com.cn
...全文
650 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
byj2001329 2004-10-30
  • 打赏
  • 举报
回复
up
byj2001329 2004-10-22
  • 打赏
  • 举报
回复
其实我只想看看别人一般是怎么设计的,怎样才合理
yjzhg 2004-10-19
  • 打赏
  • 举报
回复
不好说,要具体情况具体分析
byj2001329 2004-10-19
  • 打赏
  • 举报
回复
up
特招 2004-10-14
  • 打赏
  • 举报
回复
我也想参考参考
dgyanyong@163.com
wk9388 2004-10-14
  • 打赏
  • 举报
回复
要这样的数据库到处都可以下载阿。不是吗?
chenxiangrong 2004-10-14
  • 打赏
  • 举报
回复
哪位大侠有有关文档,我都想参考一下,
我的email:xiangrong@126.com
谢谢!!
mgsray 2004-10-14
  • 打赏
  • 举报
回复
数据库设计没有太大的用处,关键是业务流程的文档。
lovvver 2004-10-14
  • 打赏
  • 举报
回复
同意楼上的观点。
ahere0813 2004-10-14
  • 打赏
  • 举报
回复
同意楼上的,我个人也觉的你要一套数据库没什么用途,没有具体的问题光看是学不到实质性东西的。
victorycyz 2004-10-14
  • 打赏
  • 举报
回复

还是在遇到具体问题的时候,贴上来讨论比较好。
ahere0813 2004-10-14
  • 打赏
  • 举报
回复
我这多,但是我的把我们客户的数据处理下才能给你,另外压缩后还是有点大,你把QQ告诉我
我晚上有空找你传给你吧
byj2001329 2004-10-14
  • 打赏
  • 举报
回复
我主要是想参考一下,诸如基础信息主键的设置方法(用户随意输入或用关键信息组合,或者用autoid等等),以及关联主从表的关系如何建立、自动id的用法等等
522jack 2004-10-14
  • 打赏
  • 举报
回复
create table xiao --销售表
(id int identity,h_id varchar(50),h_name varchar(50),h_num int,
h_money money,h_time datetime default getdate(),h_c varchar(50))

create table ku --库存表
(id int identity,h_id varchar(50) not null primary key,h_name varchar(50),h_num int,
h_money money,h_time datetime default getdate(),h_c varchar(50))

create table jin --进货表
(id int identity,h_id varchar,h_name varchar(50),h_num int,
h_money money,h_time datetime default getdate(),h_c varchar(50))


insert into xiao(h_id,h_name,h_num,h_money,h_c) values(001,'黄瓜',20,5,'522')
insert into ku(h_id,h_name,h_num,h_money,h_c) values(008,'黄瓜',40,50,'522')
insert into jin(h_id,h_name,h_num,h_money,h_c) values(002,'鸡蛋',100,2.5,'522')

select * from xiao
select * from ku
select * from jin



create trigger xiao_ku_insert --销售从库存提取
on xiao for insert
as
if not exists(select * from inserted where h_id in (select h_id from ku))
begin
print '没货怎么提?'
rollback transaction
end
else
begin
declare @num int
declare @num2 int
set @num=(select h_num from inserted)
set @num2=(select h_num from ku where h_id=(select h_id from inserted))
if (@num<=@num)
begin
update ku set h_num=@num2-@num where h_id=(select h_id from inserted)
end
else
begin
print '货物不够请冲值'
rollback transaction
end
end


create trigger jin_ku_insert --进货到库存
on jin for insert
as
declare @num int
declare @num2 int
set @num=(select h_num from inserted)
set @num2=(select h_num from ku where h_id=(select h_id from inserted))
if exists(select * from inserted where h_id in (select h_id from ku))
begin
update ku set h_num=@num+@num2
where ku.h_id=(select h_id from inserted)
end
else
begin
insert into ku(h_id,h_name,h_num,h_money,h_c) select h_id,h_name,h_num,h_money,h_c from inserted
end

select * from xiao
select * from ku
select * from jin

identity_insert on
drop table xiao,ku,jin

--注:以上表有个弊端:h_id和h_name都能表示列,进行插入,但是当第二次插入时,如果h_id和h_name不一样也能插,
--这样就会产生错误。解决方法:最好用h_id和h_name中的一个,就能起到表示物品的作用。所插值时要小心.

这是我以前做的练习。。你加字段就可以了。我做的很简单!



34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧