商店进销存管理系统数据库设计.docx
- 文档编号:23903542
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:20
- 大小:1.39MB
商店进销存管理系统数据库设计.docx
《商店进销存管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《商店进销存管理系统数据库设计.docx(20页珍藏版)》请在冰豆网上搜索。
商店进销存管理系统数据库设计
商店进销存管理系统
数据库设计说明书
拟制人吴静杜茂坤
审核人
批准人______________________
【2013年1月18日星期五】
数据库设计说明书
1.引言
1.1编写目的
随着计算机技术的高速发展,人们对计算机的依赖性越来越强,特别是用计算机开发的数据库以及数据管理系统在生活应用中表现得更为突出。
随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。
超市时时刻刻都需要对商品各种信息进行统计分析。
作为国内市场的一些中小型商店,它们在信息化过程中的步伐要落后于大型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法。
因此,针对中小型商店开发一个商店进销存管理系统是非常必要的。
通过使用商店进销存管理系统,使商店的管理工作系统化、规范化、自动化、简易化、智能化,从而达到提高超市进销存管理效率的目的。
商店进销存管理系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立数据一致性和完整性强,数据安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
系统实现了商品信息管理,商品进货操作,商品出货操作,库存信息查询等功能。
本文详细地介绍了软件的开发环境、数据库的设计、各个模块的设计和实现及具体界面的设计和功能。
1.2背景
a.待开发软件系统的名称:
商店进销存管理系统
b.本项目的任务提出者:
石河子大学
c.本项目开发者:
吴静,杜茂坤
d.本项目用户:
商店员工
1.3参考资料
[1]MarkPriestley.面向对象设计uml实践[M].龚晓庆,卞雷等译.北京:
清华大学出版社,2005.
[2]郑人杰,马素霞,殷人昆.软件工程概论[M].北京:
机械工业出版社,2011.
[3]王珊,萨师煊.数据库系统概论概论[M].北京:
高等教育出版社,2005.
[4]卢瀚,王春斌.javaweb开发实战1200例[M].北京:
清华大学出版社,2011.
2.结构设计
2.1界面设计
整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。
系统的登录界面如图2.1。
图2.1系统登陆界面
系统首页如图2.2所示。
图2.2系统首页
商品添加页面如图2.3所示。
图2.3商品添加页面
商品查询界面如图2.4所示。
图2.4商品查询界面
密码修改界面如图2.5所示。
图2.5密码修改界面
2.2逻辑结构设计
(1)局部E-R图
商品及商品属性之间存在属于的关系,如图2.6所示。
图2.6
商品、供应商及之间存在着供应入库的关系,E-R图如图2.7所示。
图2.7
商品和仓库之间存在图2.8所示关系。
图2.8
商品和顾客之间存在销售的关系,如图2.9所示。
图2.9
(2)全局E-R图
图2.10
2.3关系模型设计
商品类型(类型号,类型名,说明)
商品(商品号,商品名,类型号,单价,单位,规格,说明)
供应商(供应商号,供应商全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)
顾客(顾客号,顾客全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)
业务员(业务员号,工资,登陆名,密码)
仓库(仓库号,面积,单位)
入库单(供应单号,供应商号,业务员号,应付,实付,未付,是否付清,日期)
入库详单(商品号,仓库号,供应单号,数量,金额)
销售单(流水号,业务员,应收,实收,未收,是否结清,销售日期)
销售详单(商品号,流水号,数量,金额)
转仓详单(转仓单号,商品号,转出仓库,转入仓库)
库存(仓库号,商品号,库存量)
2.4关系图
(1)入库管理关系图
图2.11
(2)销售管理关系图
.
图2.12
(3)转仓关系图
图2.13
2.5物理结构设计
表2-1splb(商品类别)
字段名
数据类型
长度
说明
意义
ID
varchar
20
Primarykey
类型号
lxname
varchar
20
Notnull
类型名
memo
varchar
100
说明
表2-2tb_brand(商品)
字段名
数据类型
长度
说明
意义
ID
varchar
20
Primarykey
商品号
spname
varchar
20
Notnul
商品名
splb
varchar
10
Foreignkey
类型号
dj
money
notnull
单价
dw
Varchar
10
notnull
单位
gg
Varchar
50
规格
memo
varchar
100
说明
表2-3tb_ck(仓库)
字段名
数据类型
长度
说明
意义
ID
Int
Primarykey
仓库号
ckmj
Float
面积
mjdw
Varchar
6
单位
memo
varchar
100
说明
表2-4tb_supplier(供应商)
字段名
数据类型
长度
说明
意义
ID
Int
Primarykey
供应商编号
gysname
varchar
50
Notnull
供应商全称
address
varchar
100
Notnull
地址
Lxr
varchar
50
联系人
lxrtell
varchar
50
Notnull
联系电话
khyh
varchar
50
开户银行
gysemail
varchar
50
电子信箱
表2-5tb_customer(顾客)
字段名
数据类型
长度
说明
意义
ID
Int
Primarykey
客户编号
khname
varchar
50
Notnull
客户全称
address
varchar
100
Notnull
地址
Lxr
varchar
50
联系人
lxrtell
varchar
50
Notnull
联系电话
khyh
varchar
50
开户银行
gysemail
varchar
50
电子信箱
表2-6tb_user(业务员)
字段名
数据类型
长度
说明
意义
ID
Int
Primarykey
业务员编号
username
Varchar
40
用户名
Password
varchar
40
密码
表2-7tb_rkd(入库单)
字段名
数据类型
长度
说明
意义
ID
varcahr
20
Primarykey
供应单号
GysID
Int
Foreignkey
供应商号
czy
varcahr
10
操作员
yf
Money
应付
sf
Money
实付
Wf
Money
未付
whether
Varchar
2
是否付清
rkdate
datetime
验收日期
表2-8tb_ruku(供应详单)
字段名
数据类型
长度
说明
意义
spID
Varchar
20
Foreignkey
商品号
ckID
Varchar
20
Foreignkey
供应单号
sl
Int
数量
Je
Money
金额
Rkid
Varchar
20
入库单号
表2-9tb-selld(销售单)
字段名
数据类型
长度
说明
意义
ID
Varchar
20
Primarykey
流水号
kyID
Int
Foreignkey
客户号
ys
money
应收
ss
money
实收
Ws
Money
未收
jq
Varchar
2
是否结清
xsdate
date
销售日期
表2-10tb_sell(销售详单)
字段名
数据类型
长度
说明
意义
spID
Varchar
10
Foreignkey
商品号
Selld
Varchar
20
Foreignkey
流水号
sl
int
数量
je
Money
金额
表2-11tb_zc(转仓单)
字段名
数据类型
长度
说明
意义
ID
varchar
20
主键
spID
Varchar
20
Foreignkey
商品号
Zcck
Int
Foreignkey
转出库编号
Zrck
Int
Foreignkey
转入库编号
表2-12tb_kc(库存)
字段名
数据类型
长度
说明
意义
ckID
Varchar
20
Foreignkey
仓库号
spID
Varchar
20
Foreignkey
商品号
kcSl
int
库存量
kcje
Money
金额
3存储过程脚本
(1)创建存储过程统计指定时间段内各种商品的进货数量
createprocpro_rksl
@starttimedatetime,@endtimedatetime,@spidvarchar(20),@totalslintoutput,@totaljemoneyoutput
as
select@totalsl=sum(sl),@totalje=sum(je)fromtb_ruku,tb_rkdwheretb_rkd.ID=tb_ruku.rkdandrkdatebetween@starttimeand@endtimegroupbyspidhavingspid=@spid
(2)创建存储过程统计指定时间段内各种商品的销售数量
createprocpro_xssl
@starttimedatetime,@endtimedatetime,@spidvarchar(20),@totalslintoutput,@totaljemoneyoutput
as
select@totalsl=sum(sl),@totalje=sum(je)fromtb_sell,tb_selldwheretb_selld.ID=tb_sell.selldandxsdatebetween@starttimeand@endtimegroupbyspidhavingspid=@spid
4触发器脚本
(1)当商品入库时自动增加该商品的库存量
createtriggertri_sprk
ontb_rukuforinsert
asdeclare@oldslint,@oldjemoney,@spidvarchar(20),@ckidint,@ckid1int,@rkslint,@rkjemoney
select@ckid1=0
select@spid=spid,@ckid=ckid,@rksl=sl,@rkje=jefrominserted
select@ckid1=ckidfromtb_kucunwherespid=@spid
if@rksl>0
begin
if@ckid=@ckid1
begin
select@oldsl=kcsl,@oldje=kcjefromtb_kucunwherespid=@spid
updatetb_kucunsetkcsl=@oldsl+@rksl,kcje=@oldje+@rkjewherespid=@spid
return
end
if@ckid1=0
begin
insertintotb_kucunvalues(@spid,@ckid,@rksl,@rkje)
return
end
end
rollbacktransaction
(2)当商品销售时自动修改各仓库的库存量
createtriggertri_spxs
ontb_sellforinsert
asdeclare@oldslint,@spidvarchar(11),@xsslint,@oldjemoney,@xsjemoney
select@spid=spid,@xssl=sl,@xsje=jefrominserted
select@oldsl=kcsl,@oldje=kcjefromtb_kucunwherespid=@spid
if@xssl>0and@oldsl>@xssl
begin
updatetb_kucunsetkcsl=@oldsl-@xssl,kcje=@oldje-@xsjewherespid=@spid
return
end
rollbacktransaction
(3)当商品转仓时自动修改各仓库的库存量
createtriggertri_spzc
ontb_zcforinsert
asdeclare@kcslint,@kcjemoney,@zcckint,@zrckint,@spidvarchar(20)
select@spid=spid,@zcck=zcck,@zrck=zrckfrominserted
select@kcsl=kcsl,@kcje=kcjefromtb_kucunwherespid=@spidandckid=@zcck
if@kcsl>0
begin
deletefromtb_kucunwherespid=@spidandckid=@zcck
insertintotb_kucunvalues(@spid,@zrck,@kcsl,@kcje)
return
end
rollbacktransaction
5数据库恢复与备份
(1)数据库的完全备份
backupdatabasedb_shopping
todisk='E:
\备份数据库\fullback_shop'
withinit
(2)数据库的恢复
restoredatabasedb_shopping
fromdisk='E:
\备份数据库\fullback_shop'
withreplace
(3)数据库差异备份
backupdatabasedb_shopping
todisk='E:
\备份数据库\defback_shop'
withdifferential
(4)数据库的恢复
restoredatabasedb_shopping
fromdisk='E:
\备份数据库\defback_shop'
withreplace
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商店 进销存 管理 系统 数据库 设计