商品库存管理系统报告.docx
- 文档编号:25366813
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:20
- 大小:90.44KB
商品库存管理系统报告.docx
《商品库存管理系统报告.docx》由会员分享,可在线阅读,更多相关《商品库存管理系统报告.docx(20页珍藏版)》请在冰豆网上搜索。
商品库存管理系统报告
仲恺农业工程学院
课程设计
商品库存管理系统
姓名黄伟庆
院〔系〕计算机科学与工程学院
专业年级计机091
学号202110214108
指导教师罗慧慧
职称教师
起止时间2021-6-20至2021-6-25
仲恺农业工程学院教务处制
1概述
随着商场规模的开展壮大,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现代销售业的开展,这样就迫切地需要引入新的管理技术。
商场形态具有很多优点,但在目前状况下,它仍存在零售企业所固有的落后的一面,例如:
不能有效地管理每种商品,收款结算速度慢,容易出现营业过失,不宜进行商品调价,盘点效率低等,而且在商场日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。
随着商场形态的高速开展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐扩大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。
为此,在选题过程中,我选择了商场物资管理信息系统,依靠现代化的计算机信息处理技术来管理商场,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况,并能够对各种反应信息进行分析,使管理人员能够快速对市场的变化做出相应的决策,提高商场经营管理效率。
数据库技术产生于20世纪60年代,40多年来得到了迅速开展,已经形成较为完整的理论体系并产生了一大批实用系统。
随着Internet的迅速开展,数据库技术成为应用最广泛的技术之一,可用数据库技术来实现对商品库存信息的有效管理。
1.2、系统的开发环境
SQLserver2000
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的一个版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的效劳器等多种平台使用。
2需求与功能分析
长期以来,商品库存一直是一份数据量最大、频率最高、管理最繁琐的工作,给商场的开展带来诸多的问题。
一直以来人们使用传统的人工方式管理物资库,这种管理方式存在着许多缺点,诸如效率低/保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找/更新和维护都带来不少的困难。
商品库存管理系统克服了上述缺乏,能够实现对商品信息、供给商信息、库存信息、入库/出库的信息的查询,还可以对对商品信息、供给商信息、库存信息、入库/出库的信息进行根本的管理,如添加、修改、删除等根本操作,并对其中的某些信息进行了报表处理,在系统的最后对商品信息的库存动态和销售动态进行了统计,可以方便的进行观察,使得对商品的信息能够一目了然。
因此在商品库存管理及相关单位具有广阔的前景。
需完成的功能:
1、用户的密码登录实现,分为管理员和仓库负责人
2、在管理员界面和仓库负责人界面上有各种数据库信息的查询
3、在管理员界界面上有对信息的更新操作,例如添加、删除、修改等
4、在仓库负责人界面上只有对本人负责的仓库进行更新操作
5、在界面上有多表查询及统计查询功能,能够及时了解商品的动态库存信息和销售状况,及时了解库存形势
3概要设计
系统的总体框图
图1
各局部功能的分析
翻开软件,选择以管理员身份或仓库负责人身份登陆,登陆后选择需要的功能进行操作。
管理员:
系统操作:
可以对用户修改密码,也可以对系统进行退出操作。
信息查询:
对供给商信息、商品信息和库存信息进行查询操作。
信息更新:
对出库信息、入库信息、商品信息和库存信息进行更新、添加、删除操作。
信息统计:
对商品库存、出库、入库进行统计操作
仓库负责人:
系统操作:
可以对用户修改密码,也可以对系统进行退出操作。
信息查询:
对管理的仓库信息进行查询操作。
信息查询:
对供给商信息、商品信息和库存信息进行查询操作。
仓库负责:
对所管理仓库的出库、入库进行登记操作。
商品库存管理系统的结构流图
管理员
商品库存信息管理系统
仓库负责人
商品
库存信息
供给商
图2
4数据库设计
实体与属性:
供给商〔供给商编号,供给商姓名,号码,供给商地址〕
商品〔商品编号,商品名称,供给商编号,进价,售价,生产日期,库存量〕
用户〔用户名,密码,权限〕
仓库〔仓库编号,仓库名,仓库说明〕
实体间的联系;
供给商提供商品;用户管理商品出库、入库和仓库;仓库储存多种商品;
数据库对象:
表1
名称
类型
说明
登陆表
根本表
存储用户的登陆密码信息
入库
根本表
存储入库商品的根本信息
出库
根本表
存储出库商品的根本信息
商品信息
根本表
存储商品的根本信息
库存信息
根本表
存储库存的根本信息
供给商
根本表
存储供给商的根本信息
仓库信息
根本表
存储仓库的根本信息
画出ER模型图
供给商
地址
号码
供给商编号
供给商姓名
商品
供给商编号
数量
商品编号
商品名
进价
售价
仓库号
用户
用户名
用户编号
密码
权限
仓库
仓库说明
仓库编号
仓库名
供给商
商品
提供
仓库
入库
用户
登记
登记
仓库
出库
商品
商场
送到
入库日期
出库日期
图3与图4
把ER模型图转换为关系表
(1)供给商表:
保存了供给商的根本信息,主键是供给商编号
表2
字段列名
字段类型
字段大小
是否为空
供给商编号
int
4
NOTNULL
供给商名
char
10
NOTNULL
号码
char
10
NOTNULL
地址
char
20
NOTNULL
(2)商品信息表:
保存了商品的根本信息,主键是商品编号,外键是供给商编号表3
字段列名
字段类型
字段大小
是否为空
商品编号
int
4
NOTNULL
商品名
char
10
NOTNULL
供给商编号
int
4
NOTNULL
进价
money
4
NOTNULL
售价
money
4
NOTNULL
生产日期
datetime
8
NOTNULL
库存量
int
4
NOTNULL
(3)登陆表:
保存了管理员和仓库负责人的用户名和密码,权限等信息。
主键是用户名。
表4
字段列名
字段类型
字段大小
是否为空
用户编号
int
4
NOTNULL
用户名
char
10
NOTNULL
密码
char
10
NOTNULL
权限
char
10
NOTNULL
(4)库存信息表:
保存了库存的根本信息,主键是商品存储编号
表5
字段列名
字段类型
字段大小
是否为空
商品存储编号
int
4
NOTNULL
商品编号
int
4
NOTNULL
单价
money
10
NOTNULL
商品库存数量
int
4
NOTNULL
生产日期
datetime
8
NOTNULL
仓库编号
int
4
NOTNULL
〔5〕入库表:
存储入库商品的根本信息,主键是入库号,外键是商品编号、仓库编号。
表6
字段列名
字段类型
字段大小
是否为空
入库编号
int
4
NOTNULL
商品编号
int
4
NOTNULL
进价
money
4
NOTNULL
数量
int
4
NOTNULL
总价格
money
4
NOTNULL
仓库编号
int
4
NOTNULL
负责人
char
10
NOTNULL
入库日期
datetime
8
NOTNULL
〔6〕出库表:
存储出库商品的根本信息,主键是出库号,外键是商品编号、仓库编号。
表7
字段列名
字段类型
字段大小
是否为空
出库编号
int
4
NOTNULL
商品编号
int
4
NOTNULL
售价
money
4
NOTNULL
数量
int
4
NOTNULL
总价格
money
4
NOTNULL
仓库编号
int
4
NOTNULL
负责人
char
10
NOTNULL
出库日期
datetime
8
NOTNULL
(7)仓库信息表:
存储仓库的根本信息,主键是仓库号
表8
字段列名
字段类型
字段大小
是否为空
仓库编号
int
4
NOTNULL
仓库名
char
10
NOTNULL
仓库说明
cahr
20
NOTNULL
5关键技术实现
视图的设计
〔1〕仓库信息
createviewck_view
from仓库,库存信息,商品
〔2〕商品信息
createviewsp_view
asselect*
from商品
〔3〕入库信息
createviewrk_view
asselect*
from入库
(4)出库信息
createviewchuk_view
asselect*
from出库
存储过程的设计
〔1〕createproc增加供给商
@供给商编号int,
@供给商名char(10),
@号码char(10),
@地址char(10)
asinsertinto供给商
values(@供给商编号,@供给商名,@号码,@地址)
〔2〕createproc增加商品
@商品编号int,
@商品名char(10),
@供给商编号int,
@进价money,
@售价money,
@生产日期datetime,
@库存量int
asinsertinto商品
values(@商品编号,@商品名,@供给商编号,@进价,@售价,@生产日期,@库存量)
〔3〕createproc增加用户
@用户编号int,
@用户名char(10),
@密码char(10),
@权限char(10)
asinsertinto用户
values(@用户编号,@用户名,@密码,@权限)
〔4〕createproc增加库存信息
@商品存储编号int,
@商品编号int,
@单价money,
@商品库存数量int,
@生产日期datetime,
@仓库编号int
asinsertinto库存信息
values(@商品存储编号,@商品编号,@单价,@商品库存数量,@生产日期,@仓库编号)
〔5〕createproc增参加库
@入库编号int,
@商品编号int,
@进价money,
@数量int,
@总价格money,
@仓库编号int,
@负责人char(10),
@入库日期datetime
asinsertinto入库
values(@入库编号,@商品编号,@进价,@数量,@总价格,@仓库编号,@负责人,@入库日期)
update商品
set商品.库存量=商品.库存量+@数量
where商品.商品编号=@商品编号
update库存信息
set库存信息.商品库存数量=库存信息.商品库存数量+@数量
where库存信息.商品编号=@商品编号
〔6〕createproc增加出库
@出库编号int,
@商品编号int,
@售价money,
@数量int,
@总价格money,
@仓库编号int,
@负责人char(10),
@出库日期datetime
asinsertinto出库
values(@出库编号,@商品编号,@售价,@数量,@总价格,@仓库编号,@负责人,@出库日期)
update商品
set商品.库存量=商品.库存量-@数量
where商品.商品编号=@商品编号
update库存信息
set库存信息.商品库存数量=库存信息.商品库存数量-@数量
where库存信息.商品编号=@商品编号
〔7〕createproc增加仓库
@仓库编号int,
@仓库名char(10),
@仓库说明char(20)
asinsertinto仓库
values(@仓库编号,@仓库名,@仓库说明)
〔8〕createproc修改供给商
@供给商编号int,
@供给商名char(10),
@号码char(10),
@地址char(10)
asupdate供给商
set供给商.供给商编号=@供给商编号,供给商.供给商名=@供给商名,供给商.号码=@号码,供给商.地址=@地址
〔9〕createproc修改商品
@商品编号int,
@商品名char(10),
@供给商编号int,
@进价money,
@售价money,
@生产日期datetime,
@库存量int
asupdate商品
set商品.商品编号=@商品编号,商品.商品名=@商品名,商品.供给商编号=@供给商编号,商品.进价=@进价,商品.售价=@售价,商品.生产日期=@生产日期,商品.库存量=@库存量
〔10〕createproc修改用户
@用户编号int,
@用户名char(10),
@密码char(10),
@权限char(10)
asupdate用户
set用户编号=@用户编号,用户名=@用户名,密码=@密码,权限=@权限
〔11〕createproc修改库存信息
@商品存储编号int,
@商品编号int,
@单价money,
@商品库存数量int,
@生产日期datetime,
@仓库编号int
asupdate库存信息
set商品存储编号=@商品存储编号,商品编号=@商品编号,单价=@单价,商品库存数量=@商品库存数量,生产日期=@生产日期,仓库编号=@仓库编号
〔12〕createproc修改入库
@入库编号int,
@商品编号int,
@进价money,
@数量int,
@总价格money,
@仓库编号int,
@负责人char(10),
@入库日期datetime
asupdate入库信息
set入库编号=@入库编号,商品编号=@商品编号,进价=@进价,数量=@数量,总价格=@总价格,仓库编号=@仓库编号,负责人=@负责人,入库日期=@入库日期
〔13〕createproc修改出库
@出库编号int,
@商品编号int,
@售价money,
@数量int,
@总价格money,
@仓库编号int,
@负责人char(10),
@出库日期datetime
asupdate出库信息
set出库编号=@出库编号,商品编号=@商品编号,售价=@售价,数量=@数量,总价格=@总价格,仓库编号=@仓库编号,负责人=@负责人,出库日期=@出库日期
〔14〕createproc修改仓库
@仓库编号int,
@仓库名char(10),
@仓库说明char(20)
asupdate仓库
set仓库编号=@仓库编号,仓库名=@仓库名,仓库说明=@仓库说明
在增参加库、出库的存储过程时,会同时修改库存信息中商品编号相同的商品库存数量和商品信息中商品编号相同的库存量。
触发器等的设计
(1)入库
createtriggerupdate_or_insert入库on入库forinsert,updateas
declare@商品编号int
declare@数量int
declare@入库日期datetime
declare@库存量int
select@商品编号=商品编号frominserted
select@数量=数量frominserted
select@入库日期=入库日期frominserted
select@库存量=库存量from商品where商品.商品编号=@商品编号
if(@入库日期>getdate())or(@入库日期 begin print'入库日期必须在当天' rollbacktransaction end if(@数量+@库存量>5000) begin print'此种商品在仓库仓库存储超过上限,请重输' rollbacktransaction end (2)出库 createtriggerupdate_or_insert出库on出库forinsert,updateas declare@商品编号int declare@数量int declare@出库日期datetime declare@库存量int select@商品编号=商品编号frominserted select@数量=数量frominserted select@出库日期=出库日期frominserted select@库存量=库存量from商品where商品.商品编号=@商品编号 if(@出库日期>getdate())or(@出库日期 begin print'出库库日期必须在当天' rollbacktransaction end if(@库存量-@数量<0) begin print'此种商品在仓库仓库存储已空,请重输' rollbacktransaction End 出库、入库日期必须在当天输入,当商品库存超过上限或下限,会提示重新输入。 6数据库平安性控制 数据库的平安性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。 平安性控制是指要尽可能杜绝所有数据库的非法访问。 所以我在数据库用户中分别创造胡明、胡朗、王明三个用户他们都只能访问ShangChangKuCun这个数据库,胡明有两个角色: DiskAdministration可管理磁盘文件、BulkInsertAdministrators可执行大容量插入操作。 胡朗、王明拥有一个角色BulkInsertAdministrators可执行大容量插入操作。 胡明拥有所有的权限。 胡朗、王明只拥有搜索和插入数据的权限。 7总结与展望 在本次课程设计中我主要使用sqlserver2000来对数据库进行设计和开发。 这个数据库主要分为三个局部,第一,用户的登录,用户可分为管理员和仓库负责人。 管理员管理所有仓库的信息。 仓库负责人只负责他所管理的那个仓库。 第二,商品的出库入库,他记录了商品出库入库的信息。 第三,根本信息,包括商品信息、库存信息、供给商信息、仓库信息、用户信息。 这个数据库根本实现了数据的更新,删除,添加等功能。 在进行出库、入库更新、添加等操作时,他对出库、入库商品的数量有提示,在商品入库数量超过库存容量时会提示超出仓库容量,当商品库存数量低于0时,也会提示。 入库、出库日期只能输入当天的日期。 同时这个数据库可以实现对商品信息和库存信息的有效管理,在建立数据库的同时也考虑到了各个方面根本符合一个小型的信息系统开发要求。 但在一些所需的功能要求上,还存在着很多方面有待改良。 例如,我想要在商品入库、出库的同时,由电脑把仓库中商品的库存量同时修改,不需要自己在去重新修改商品的库存量。 还有就是那个总价格在输入好单价和数量是就可以由电脑计算出来后再输入到表格,不需要自己计算好再输进去。 那出库、入库信息中的日期希望可以在添加的时候自动输入当天日期,不需要自己去输入。 参考文献 列出课程设计过程中所参考的书籍、文献、以及网络资源 [1]XX文库: 商场商品库存管理系统的设计与实现 [2]石玉强数据库原理及应用 [3]石玉强数据库原理及应用实验指导
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 商品 库存 管理 系统 报告