1、c. 本项目开发者: 吴静,杜茂坤d. 本项目用户: 商店员工1.3 参考资料1 Mark Priestley.面向对象设计uml实践 M.龚晓庆,卞雷等译.北京:清华大学出版社,2005.2 郑人杰,马素霞,殷人昆.软件工程概论 M.北京:机械工业出版社,2011.3 王珊,萨师煊.数据库系统概论概论 M.北京:高等教育出版社,2005.4 卢瀚,王春斌.java web开发实战1200例M.北京:清华大学出版社,2011.2.结构设计2.1 界面设计整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成进货、销售、库存管理的全过程。系统的登录界面如图2.1。图2.1系统登陆界面
2、系统首页如图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.102.3关系模型设计商品类型(类型号,类型名,说明)商品(商品号,商品名,类型号,单价,单位,规格,说明)供应商(供应商号,
3、供应商全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)顾客(顾客号,顾客全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)业务员(业务员号,工资,登陆名,密码)仓库(仓库号,面积,单位)入库单(供应单号,供应商号,业务员号,应付,实付,未付,是否付清,日期)入库详单(商品号,仓库号,供应单号,数量,金额)销售单(流水号,业务员,应收,实收,未收,是否结清,销售日期)销售详单(商品号,流水号,数量,金额)转仓详单(转仓单号,商品号,转出仓库,转入仓库)库存(仓库号,商品号,库存量)2.4 关系图(1) 入库管理关系图图2.11(2)销售管理关系图. 图2.12(3)转仓关系图图2.
4、132.5物理结构设计表2-1 splb(商品类别)字段名数据类型长度说明意义IDvarchar20Primary key类型号lxnameNot null类型名memo100表2-2 tb_brand(商品)商品号spnameNot nul商品名splb10Foreign keydjmoneynot null单价dwVarchar单位gg50规格表2-3 tb_ck(仓库)Int仓库号ckmjFloat面积mjdw6表2-4 tb_supplier(供应商)供应商编号gysname供应商全称address地址Lxr联系人lxrtell联系电话khyh开户银行gysemail电子信箱表2-5
5、tb_customer(顾客)客户编号khname客户全称表2-6 tb_user(业务员)业务员编号username40用户名Password密码表2-7 tb_rkd(入库单)varcahr供应单号GysID供应商号czy操作员yfMoney应付sf实付Wf未付whether2是否付清rkdatedatetime验收日期表2-8 tb_ruku(供应详单)spIDVarchar ckIDsl数量Je金额Rkid入库单号表2-9 tb-selld(销售单)流水号kyID客户号ys应收ss实收Ws未收jq是否结清xsdatedate销售日期表2-10 tb_sell(销售详单)Selldint
6、je表2-11 tb_zc(转仓单)主键Zcck转出库编号Zrck转入库编号表2-12 tb_kc(库存)kcSl库存量kcje3 存储过程脚本(1)创建存储过程统计指定时间段内各种商品的进货数量create proc pro_rksl starttime datetime,endtime datetime,spid varchar(20),totalsl int output,totalje money outputas select totalsl=sum(sl),totalje=sum(je) from tb_ruku,tb_rkd where tb_rkd.ID=tb_ruku.rkd
7、 and rkdate between starttime and endtime group by spid having spid=spid(2)创建存储过程统计指定时间段内各种商品的销售数量create proc pro_xssl starttime datetime,endtime datetime,spid varchar(20),totalsl int output ,totalje money output select totalsl=sum(sl),totalje=sum(je) from tb_sell,tb_selld where tb_selld.ID=tb_sell.
8、selld and xsdate between starttime and endtime group by spid having spid=spid4 触发器脚本(1)当商品入库时自动增加该商品的库存量create trigger tri_sprk on tb_ruku for insert as declare oldsl int,oldje money,spid varchar(20),ckid int,ckid1 int,rksl int,rkje money select ckid1=0 select spid=spid,ckid=ckid,rksl=sl,rkje=je fro
9、m inserted select ckid1=ckid from tb_kucun where spid=spid if rksl begin if ckid=ckid1 select oldsl=kcsl,oldje=kcje from tb_kucun where spid=spid update tb_kucun set kcsl=oldsl+rksl,kcje=oldje+rkje where spid=spid return end if ckid1=0 begin insert into tb_kucun values(spid,ckid,rksl,rkje) end rollb
10、ack transaction(2)当商品销售时自动修改各仓库的库存量create trigger tri_spxs on tb_sell for insert as declare oldsl int,spid varchar(11),xssl int,oldje money,xsje money select spid=spid,xssl=sl,xsje=je from inserted select oldsl=kcsl,oldje=kcje from tb_kucun where spid=spid if xssl0 and oldslxssl begin update tb_kucu
11、n set kcsl=oldsl-xssl,kcje=oldje-xsje where spid=spid return end rollback transaction(3)当商品转仓时自动修改各仓库的库存量create trigger tri_spzc on tb_zc for insert as declare kcsl int,kcje money,zcck int,zrck int,spid varchar(20) select spid=spid,zcck=zcck,zrck=zrck from inserted select kcsl=kcsl,kcje=kcje from tb
12、_kucun where spid=spid and ckid=zcck if kcsl delete from tb_kucun where spid=spid and ckid=zcck insert into tb_kucun values(spid,zrck,kcsl,kcje)5 数据库恢复与备份(1)数据库的完全备份backup database db_shopping to disk=E:备份数据库fullback_shopwith init (2)数据库的恢复restore database db_shoppingfrom disk=with replace(3)数据库差异备份to disk=备份数据库defback_shopwith differential(4)数据库的恢复
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1