您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 商店进销存管理系统数据库设计
商店进销存管理系统数据库设计说明书拟制人吴静杜茂坤审核人批准人______________________【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.102.3关系模型设计商品类型(类型号,类型名,说明)商品(商品号,商品名,类型号,单价,单位,规格,说明)供应商(供应商号,供应商全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)顾客(顾客号,顾客全称,地址,联系人,电话,电子邮箱,开户银行,开户账号)业务员(业务员号,工资,登陆名,密码)仓库(仓库号,面积,单位)入库单(供应单号,供应商号,业务员号,应付,实付,未付,是否付清,日期)入库详单(商品号,仓库号,供应单号,数量,金额)销售单(流水号,业务员,应收,实收,未收,是否结清,销售日期)销售详单(商品号,流水号,数量,金额)转仓详单(转仓单号,商品号,转出仓库,转入仓库)库存(仓库号,商品号,库存量)2.4关系图(1)入库管理关系图图2.11(2)销售管理关系图.图2.12(3)转仓关系图图2.132.5物理结构设计表2-1splb(商品类别)字段名数据类型长度说明意义IDvarchar20Primarykey类型号lxnamevarchar20Notnull类型名memovarchar100说明表2-2tb_brand(商品)字段名数据类型长度说明意义IDvarchar20Primarykey商品号spnamevarchar20Notnul商品名splbvarchar10Foreignkey类型号djmoneynotnull单价dwVarchar10notnull单位ggVarchar50规格memovarchar100说明表2-3tb_ck(仓库)字段名数据类型长度说明意义IDIntPrimarykey仓库号ckmjFloat面积mjdwVarchar6单位memovarchar100说明表2-4tb_supplier(供应商)字段名数据类型长度说明意义IDIntPrimarykey供应商编号gysnamevarchar50Notnull供应商全称addressvarchar100Notnull地址Lxrvarchar50联系人lxrtellvarchar50Notnull联系电话khyhvarchar50开户银行gysemailvarchar50电子信箱表2-5tb_customer(顾客)字段名数据类型长度说明意义IDIntPrimarykey客户编号khnamevarchar50Notnull客户全称addressvarchar100Notnull地址Lxrvarchar50联系人lxrtellvarchar50Notnull联系电话khyhvarchar50开户银行gysemailvarchar50电子信箱表2-6tb_user(业务员)字段名数据类型长度说明意义IDIntPrimarykey业务员编号usernameVarchar40用户名Passwordvarchar40密码表2-7tb_rkd(入库单)字段名数据类型长度说明意义IDvarcahr20Primarykey供应单号GysIDIntForeignkey供应商号czyvarcahr10操作员yfMoney应付sfMoney实付WfMoney未付whetherVarchar2是否付清rkdatedatetime验收日期表2-8tb_ruku(供应详单)字段名数据类型长度说明意义spIDVarchar20Foreignkey商品号ckIDVarchar20Foreignkey供应单号slInt数量JeMoney金额RkidVarchar20入库单号表2-9tb-selld(销售单)字段名数据类型长度说明意义IDVarchar20Primarykey流水号kyIDIntForeignkey客户号ysmoney应收ssmoney实收WsMoney未收jqVarchar2是否结清xsdatedate销售日期表2-10tb_sell(销售详单)字段名数据类型长度说明意义spIDVarchar10Foreignkey商品号SelldVarchar20Foreignkey流水号slint数量jeMoney金额表2-11tb_zc(转仓单)字段名数据类型长度说明意义IDvarchar20主键spIDVarchar20Foreignkey商品号ZcckIntForeignkey转出库编号ZrckIntForeignkey转入库编号表2-12tb_kc(库存)字段名数据类型长度说明意义ckIDVarchar20Foreignkey仓库号spIDVarchar20Foreignkey商品号kcSlint库存量kcjeMoney金额3存储过程脚本(1)创建存储过程统计指定时间段内各种商品的进货数量createprocpro_rksl@starttimedatetime,@endtimedatetime,@spidvarchar(20),@totalslintoutput,@totaljemoneyoutputasselect@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,@totaljemoneyoutputasselect@totalsl=sum(sl),@totalje=sum(je)fromtb_sell,tb_selldwheretb_selld.ID=tb_sell.selldandxsdatebetween@starttimeand@endtimegroupbyspidhavingspid=@spid4触发器脚本(1)当商品入库时自动增加该商品的库存量createtriggertri_sprkontb_rukuforinsertasdeclare@oldslint,@oldjemoney,@spidvarchar(20),@ckidint,@ckid1int,@rkslint,@rkjemoneyselect@ckid1=0select@spid=spid,@ckid=ckid,@rksl=sl,@rkje=jefrominsertedselect@ckid1=ckidfromtb_kucunwherespid=@spidif@rksl0beginif@ckid=@ckid1beginselect@oldsl=kcsl,@oldje=kcjefromtb_kucunwherespid=@spidupdatetb_kucunsetkcsl=@oldsl+@rksl,kcje=@oldje+@rkjewherespid=@spidreturnendif@ckid1=0begininsertintotb_kucunvalues(@spid,@ckid,@rksl,@rkje)returnendendrollbacktransaction(2)当商品销售时自动修改各仓库的库存量createtriggertri_spxsontb_sellforinsertasdeclare@oldslint,@spidvarchar(11),@xsslint,@oldjemoney,@xsjemoneyselect@spid=spid,@xssl=sl,@xsje=jefrominsertedselect@oldsl=kcsl,@oldje=kcjefromtb_kucunwherespid=@spidif@xssl0and@oldsl@xsslbeginupdatetb_kucunsetkcsl=@oldsl-@xssl,kcje=@oldje-@xsjewherespid=@spidreturnendrollbacktransaction(3)当商品转仓时自动修改各仓库的库存量createtriggertri_spzcontb_zcforinsertasdeclare@kcslint,@kcjemoney,@zcckint,@zrckint,@spidvarchar(20)select@spid=spid,@zcck=zcck,@zrck=zrckfrominsertedselect@kcsl=kcsl,@kcje=kcjefromtb_kucunwherespid=@spidandckid=@zcckif@kcsl0begindeletefromtb_kucunwherespid=@spidandckid=@zcckinsertintotb_kucunvalues(@spid,@zrck,@kcsl,@kcje)returnendrollbacktransaction5数据库恢复与备份(1)数据库的完全备份backupdatabasedb_shoppingtodisk='E:\备份数据库\fullback_shop'withinit(2)数据库的恢复restoredatabasedb_shoppingfromdisk='E:\备
本文标题:商店进销存管理系统数据库设计
链接地址:https://www.777doc.com/doc-3491097 .html