商品管理系统实验报告1呕心沥血整理版.docx
《商品管理系统实验报告1呕心沥血整理版.docx》由会员分享,可在线阅读,更多相关《商品管理系统实验报告1呕心沥血整理版.docx(14页珍藏版)》请在冰豆网上搜索。
商品管理系统实验报告1呕心沥血整理版
湖南人文科技学院经济与管理科学系
课程设计说明书
课程名称:
网络数据库技术与应用
题目:
商品管理系统
年级/专业/班:
2011级经济与管理科学系电子商务1班
学生姓名:
蔡慧敏、毛修丽、谢江霞
学号:
指导教师:
陈刚
开题时间:
2013/6/17
完成时间:
2013/6/22
商品管理系统
摘 要(小4号黑体):
本数据库主要完成对于超市管理,包括商品入库、出库、库存。
系统可以完成对各类信息的进行方便的浏览、查询、添加、修改等功能。
系统的核心是入库、出库、库存三者之间的联系,每一个表的修改都将联动的影响其它的表。
本数据库的功能很实用.查询功能,可以让让采购员,保管员,统计员对数据库中商品的信息以及销售情况进行查询;添加功能可以将销售情况进行添加;修改功能可以对商品进行库存修改.在虚拟机运行的Windows2000环境下进行数据库设计。
此论文主要介绍了本课程设计的具体过程,例如需求分析,概念设计,逻辑设计等的具体实现过程,配有大量图标方便理解.
关键词:
系统,数据库,需求分析,概念设计,逻辑设计
Commoditymanagementsystem
Abstract:
Thisdatabaseismainlydoneforsupermarketmanagement,includingthestorageofgoods,warehousing,inventory。
Systemcanbecompletedconvenientlybrowse,query,add,modifythefunctionsofallkindsofinformation。
Thecoreofthesystemisthestorage,delivery,inventorylinksbetweenthethree,eachtablechangeswillaffectotherforms.Thedatabasefunctionveryuseful。
Thequeryfunction,canletthebuyer,custodian,statisticianinthedatabaseinformationofproductsandsalesinquiries;addfunctionalitycanbesalesadd;modificationfunctioncanbemodifiedforgoodsinventory.DatabasedesigninavirtualmachinerunningunderWindows2000environment。
Thispapermainlyintroducedthespecificprocessofthecurriculumdesign,suchasrequirementanalysis,conceptdesign,logicdesignandconcreterealizationoftheprocess,withalargenumberoficons,easytounderstand。
KeyWords:
system,database,requirementanalysis,conceptdesign,logicdesign
·第一章绪论
1.1研究背景与意义
现代的社会经济高速发展,信息化程度也不断加深,人们的人才需要意识、科技意识已有了很大提高,对于用纸张来记录信息已显得很麻烦。
在信息技术的催化之下,世界经济的变革已经进入了加速状态.世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企业与供方的关系变得更加密切和复杂。
强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是商品销售公司乃至众多商业企业梦寐以求的愿望。
随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。
1.2当前研究现状
目前,越来越多的企业使用数据库技术,促使数据库技术有了很大的发展。
对于国际性的大企业大部分都使用了数据库技术来管理信息,但是,小型的商店都不曾使用.本系统的开发就是运用于此方面的。
1.3相关技术与工具
工具:
SQL2000,myclinpse
相关技术:
java语言,数据流图,E-R图,网络数据库编程技术
第二章需求分析
2.1功能需求
一.系统功能要求:
1有一个存放商品的仓库,每天都有商品出库和入库.每种商品都有商品编号、商品名称、生产厂家、型号、规格等。
2入库时必须填写入库单据,单据包括商品名称、生产厂家、型号、规格、及入库数量、日期、仓库号、仓库名称、送货人姓名。
3出库时必须填写出库单据,单据包括仓库详情,商品详情还有出库时间和数量及提货人信息。
.
4设置商品库存台帐,商品库存台帐是对仓库中目前库存的所有商品的明细记录,商品库存台帐包括商品信息,库存量和日期.每当有商品入库或出库时都应自动更新台帐,最后一次更新的是现在的库存情况.
5商品的入库和出库过程通过库存台帐更加清晰条理地显示出仓库中商品存数量和库存日期等信息,容易对库存内的商品信息进行查询,增加,修改,删除等操作。
6该仓库的商品型号统一为YING-CV992格式,规格为CX100-CX199格式
二.主要功能:
1商品管理:
包括增加商品详细资料,修改商品资料,删除商品所有资料,浏览所有商品功能.
②库存管理:
实现商品的入库,在商品出库或入库时通过触发器或存储过程同时完成商品库台帐的更新。
实现按商品名称查询商品的出库或入库情况及目前的库存量。
实现按入库日期查询商品的出库或入库情况及目前的库存量.
按时间段查询商品库存情况。
实现分别按年、季度和月对入库或出库商品数量的统计。
2.2数据流图
2.3ER图
第三章系统设计
3.1系统模块划分
库存物资管理大体可以分为以下3大模块,如下图所示:
首先是商品入库模块,该模块主要就是描述把采购回来的商品,分类别的放置到指定的仓库中去,然后是商品出库模块,该模块主要描述从指定的仓库中拿出商品;最后时库存模块,这个模块主要是记录商品的库存数量变化。
3.2数据库设计
关系模式如下:
商品(商品编号、商品名称、生产厂家、型号、规格)
商品编号为主键
仓库(仓库号、仓库名称)
仓库号为主键
库存(商品编号,仓库号,库存数量)
(商品编号,仓库号)为主键,同时也分别为外键
入库(入库号,商品编号,仓库号,入库数量,入库日期,送货人姓名)
(入库号)为主键,(商品编号,仓库号)为外键
出库(出库号,商品编号,仓库号,出库数量,出库日期,提货人姓名)
(出库号)为主键,(商品编号,仓库号)为外键
第四章系统实现
4.1模块一
实现商品的入库,在商品入库时通过触发器或存储过程同时完成商品库存台帐的更新.
入库表的触发器
createtriggerstocking_intoonstocking——这是入库表的触发器
afterinsert
as
begin
declare@achar(10),@bchar(10),@dint;
select@a=i。
DNo,@b=i.WNo,@d=i.SAmount
frominsertedasi;
if(selectStock.WNofromStockwhereStock。
WNo=@bandStock。
DNo=@a)isnotnull
begin
updateStock
setStock。
WAmount=Stock。
WAmount+@d
whereStock。
WNo=@bandStock。
DNo=@a;
return;
end
insertintostockvalues(@b,@a,@d);
end
insertintostockingvalues(’100’,'100005','2010001’,200,’2006-01-02’,’小明’);
insertintostockingvalues('101',’100005','2010003’,200,’2006—01-02’,'小兰’);
insertintostockingvalues('102’,’100001’,’2010003',200,’2006—01—02','小东');
insertintostockingvalues(’103',’100002’,’2010001',200,’2006—01-02’,'小红’);
insertintostockingvalues(’104’,’100003’,'2010001’,200,’2007—01—14',’小风’);
insertintostockingvalues('105',’100005',’2010002',200,’2006-01—25’,’小明’);
insertintostockingvalues(’106’,'100000’,'2010002',200,’2006—02-02’,'小明');
insertintostockingvalues(’107’,’100001’,’2010001’,200,’2005—03-02’,’小东');
insertintostockingvalues('108’,’100002’,’2010002’,200,’2007-04—02’,’小红’);
insertintostockingvalues('109’,’100003',’2010003',200,'2006—04-02’,’小风');
insertintostockingvalues(’110’,’100004’,’2010001',200,’2006—06—09’,’小敏');
insertintostockingvalues('111’,'100004’,’2010002’,200,'2005—06—02’,’小风’);
insertintostockingvalues(’112',’100005’,’2010001’,200,’2005-06—02’,’小青’);
insertintostockingvalues(’113',’100000',’2010003’,200,'2005—06—02','小明’);
insertintostockingvalues(’114’,’100001','2010001’,200,’2005—06—02',’小东’);
insertintostockingvalues(’115’,’100002’,’2010002’,200,’2007—07—02’,’小红’);
insertintostockingvalues('116’,'100003',’2010003’,200,'2006—08—02’,’小风’);
insertintostockingvalues(’117',’100000’,'2010001',200,’2006-08—02’,'小明');
insertintostockingvalues(’118',’100001’,’2010001',200,’2005—09—04','小东');
insertintostockingvalues(’119',’100002','2010002’,200,’2005—06—02’,’小红’);
insertintostockingvalues('120’,’100003’,’2010003’,200,’2005-09-11’,’小风’);
insertintostockingvalues('121’,’100002',’2010002’,200,’2005-09—01’,'小明’);
insertintostockingvalues('122’,'100003’,’2010002',200,’2005—07-08’,’小敏’);
insertintostockingvalues(’123',’100002’,’2010003’,200,’2005-04—11',’小敏’);
insertintostockingvalues(’124’,'100001’,'2010001’,200,’2007-07—08’,'小红’);
insertintostockingvalues(’125','100001’,’2010003’,200,’2005—08—21','小青');
insertintostockingvalues(’126','100005’,’2010001’,200,'2005—07—08',’小青’);
insertintostockingvalues(’127’,’100003’,'2010003',200,’2005-09-01’,'小兰’);
insertintostockingvalues(’128’,’100002’,’2010002',200,’2007—07—08',’小兰’);
insertintostockingvalues('129’,’100004’,’2010001',200,’2007—07-08','小兰’);
insertintostockingvalues(’130’,’100005’,’2010002',200,’2007—07—08’,’小红');
实现按商品名称查询商品的入库情况及目前的库存量。
selectSNo,WName,s.WNo,s。
DNo,SAmount,WAmount
fromStockass,Wareasw,Stockingassi
whereWName='电冰箱'ands。
WNo=w.WNoandw.WNo=si。
WNoands。
DNo=si.DNo
4.2模块二
实现按入库日期查询商品的入库情况及目前的库存量。
/*复合条件查询*/
selectSNo,s。
WNo,s。
DNo,SAmount,SDate,Supplier,WAmount
fromStockass,Stocking
whereSDate='2006—01—0200:
00:
00'ands。
WNo=Stocking。
WNo
ands.DNo=Stocking.DNo
实现按商品名称查询商品的出库情况及目前的库存量.
selectONo,s.WNo,s。
DNo,OAmount,WName,ODate,Buyers,WAmount
fromStockass,Outbound,Ware
whereWName=’长城干红'andWare。
Wno=s。
Wnoands.Wno=Outbound.Wno
实现按出库日期查询商品的出库情况及目前的库存量.
selectONo,s.WNo,s。
DNo,OAmount,ODate,Buyers,WAmount
fromStockass,Outbound
whereODate='2010—01-020:
00:
00'ands。
WNo=Outbound.WNo
ands。
DNo=Outbound。
DNo
按时间段查询商品库存情况
selectw.WNameas商品,sum(SAmount)as入库数量
fromStockingass,Wareasw
wherew。
WNo=s。
WNoandSDatebetween’2006—01—02'and’2010-01—02'
groupbyw。
WName
selectw。
WNameas商品,sum(OAmount)as出库数量
fromOutboundaso,Wareasw
wherew.WNo=o。
WNoandODatebetween’2006-01—02’and'2010—01-02’
groupbyw.WName
实现分别按年、季度和月对入库商品数量的统计
/*年:
*/
selectWName,sum(SAmount)Ssum
fromStocking,Ware
whereyear(SDate)=2005andStocking.WNo=Ware.WNo
groupbyWName
/*季度:
*/
selectWName,sum(SAmount)Ssum
fromStocking,Ware
whereSDatebetween’2005-3-10:
00:
00’and’2005—5—310:
00:
00'
andStocking。
WNo=Ware.WNo
groupbyWName
/*月:
*/
selectWName,sum(SAmount)Ssum
fromStocking,Ware
wheremonth(SDate)=6andStocking.WNo=Ware.WNoandyear(SDate)=2005
groupbyWName
实现分别按年、季度和月对出库商品数量的统计
/*按年:
*/
selectWName,sum(OAmount)Osum
fromOutbound,Ware
whereyear(ODate)=2010andOutbound。
WNo=Ware.WNo
groupbyWName
/*按季度:
*/
selectWName,sum(OAmount)Osum
fromOutbound,Ware
whereODatebetween’2010—09-010:
00:
00'and’2010—11—300:
00:
00'
andOutbound。
WNo=Ware.WNo
groupbyWName
/*按月:
*/
selectWName,sum(OAmount)Osum
fromOutbound,Ware
wheremonth(ODate)=9andOutbound。
WNo=Ware.WNoandyear(ODate)=2010
groupbyWName
总结
通过本次数据库的设计,对于数据库的设计过程有了一定的认识。
实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个商品信息管理系统,必须得经过需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程。
熟悉了SQL语言,运用SQL语言进行了查询,删除,修改等的操作,SOL语言已经成为一个标准,已经不再局限与它本来的含义,它已经成为了一种国际化的标准语言,所以掌握SQL语言对我们的今后发展是很有帮助的,在亲自操作中对于数据库这门课程有了更多的学习。
在设计中发现一个好的需求分析对于以后的数据库的设计有很重要的做用,好的需求分析,可以对以后的设计有清晰的轮廓,而且可以提高数据库设计的效率。
这次设计以后让我认识到了做设计的艰辛,我们做设计时一定要有耐心,同时更要感谢老师对我们的悉心教导.
参考文献
【1】徐孝凯,贺桂英·网络数据库基础与SQLServer2005应用开发·清华大学出版社,2008,4
【2】牛允鹏·数据库及其应用·经济科学出版社,2000,3
【3】黄梯云·管理信息系统·经济科学出版社,2000,3