仲恺农业工程学院
课 程 设 计
商品库存管理系统
姓 名 黄伟庆
院(系) 计算机科学与工程学院 专业年级 计机091 学 号 200910214108 指导教师 罗慧慧 职 称 教师
起止时间 2011-6-20至2011-6-25
仲恺农业工程学院教务处制
目 录
1 概述............................................................. 2 2 需求与功能分析.................................................... 3 3 概要设计......................................................... 3 4 数据库设计........................................................ 5 5 关键技术实现..................................................... 9 6数据库安全性控制 ................................................. 16 7总结与展望 ....................................................... 16 参 考
文 献..................................................... 17
1
1 概述
1.1系统背景
随着商场规模的发展壮大,其经营管理也变得愈加复杂,早期的售货员站
柜台的形式早已不能满足现代销售业的发展,这样就迫切地需要引入新的管理技术。
商场形态具有很多优点,但在目前状况下,它仍存在零售企业所固有的落后的一面,例如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在商场日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着商场形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐扩大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,在选题过程中,我选择了商场物资管理信息系统,依靠现代化的计算机信息处理技术来管理商场,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况,并能够对各种反馈信息进行分析,使管理人员能够快速对市场的变化做出相应的决策,提高商场经营管理效率。
数据库技术产生于20世纪60年代,40多年来得到了迅速发展,已经形成较为完整的理论体系并产生了一大批实用系统。随着Internet的迅速发展,数据库技术成为应用最广泛的技术之一,可用数据库技术来实现对商品库存信息的有效管理。
1.2、系统的开发环境 SQL server 2000
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
2
2 需求与功能分析
2.1需求分析
长期以来,商品库存一直是一份数据量最大、频率最高、管理最繁琐的工作,给商场的发展带来诸多的问题。一直以来人们使用传统的人工方式管理物资库,这种管理方式存在着许多缺点,诸如效率低/保密性差等,而且时间一长,将产生大量的文件和数据,这对于查找/更新和维护都带来不少的困难。商品库存管理系统克服了上述不足,能够实现对商品信息、供应商信息、库存信息、入库/出库的信息的查询,还可以对对商品信息、供应商信息、库存信息、入库/出库的信息进行基本的管理,如添加、修改、删除等基本操作,并对其中的某些信息进行了报表处理,在系统的最后对商品信息的库存动态和销售动态进行了统计,可以方便的进行观察,使得对商品的信息能够一目了然。因此在商品库存管理及相关单位具有广阔的前景。
2.2功能要求 需完成的功能:
1、用户的密码登录实现,分为管理员和仓库负责人
2、在管理员界面和仓库负责人界面上有各种数据库信息的查询 3、在管理员界界面上有对信息的更新操作,例如添加、删除、修改等 4、在仓库负责人界面上只有对本人负责的仓库进行更新操作
5、在界面上有多表查询及统计查询功能,能够及时了解商品的动态库存信息和销售状况,及时了解库存形势
3 概要设计
3.1系统的总体框图
3
图1
3.2对各部分功能的分析
打开软件,选择以管理员身份或仓库负责人身份登陆,登陆后选择需要的功能进行操作。
管理员:
系统操作:可以对用户修改密码,也可以对系统进行退出操作。 信息查询:对供应商信息、商品信息和库存信息进行查询操作。
信息更新:对出库信息、入库信息、商品信息和库存信息进行更新、添加、删除操作。
信息统计:对商品库存、出库、入库进行统计操作 仓库负责人:
系统操作:可以对用户修改密码,也可以对系统进行退出操作。信息查询:对管理的仓库信息进行查询操作。
4
信息查询:对供应商信息、商品信息和库存信息进行查询操作。 仓库负责:对所管理仓库的出库、入库进行登记操作。 3.3商品库存管理系统的结构流图
管理员 商品库存信息管理系统 仓库负责人 供应商 商品 库存信息
图2
4 数据库设计
4.1实体与属性:
供应商(供应商编号,供应商姓名,电话号码,供应商地址)
商品(商品编号,商品名称,供应商编号,进价,售价,生产日期,库存量) 用户(用户名,密码,权限)
仓库(仓库编号,仓库名,仓库说明) 实体间的联系;
供应商提供商品;用户管理商品出库、入库和仓库;仓库储存多种商品; 数据库对象: 表1
名称 登陆表 入库 出库 商品信息 库存信息
类型 基本表 基本表 基本表 基本表 基本表 5
说明 存储用户的登陆密码信息 存储入库商品的基本信息 存储出库商品的基本信息 存储商品的基本信息 存储库存的基本信息
供应商 仓库信息
4.2画出ER模型图
基本表 基本表 存储供应商的基本信息 存储仓库的基本信息 供应商编号 供应商 供应商姓名 电话号码 商品编数量 商品 供应商编号 仓库号 密码 商品名 地址 进价 售价 用户名 用户 用户编号 权限 仓库名 仓库编号 仓库说明 仓库 供应商 入库日期 出库日期 商场 提供 送到 商品 登记 用户 登记 商品 入库 出库 仓库 仓库
6
图3与图4
4.3把ER模型图转换为关系表
(1) 供应商表:保存了供应商的基本信息,主键是供应商编号 表2 字段列名 供应商编号 供应商名 电话号码 地址 字段类型 int char char char 字段大小 4 10 10 20 是否为空 NOT NULL NOT NULL NOT NULL NOT NULL (2) 商品信息表:保存了商品的基本信息,主键是商品编号,外键是供应
商编号 表3 字段列名 商品编号 商品名 供应商编号 进价 售价 生产日期 库存量 字段类型 int char int money money datetime int 字段大小 4 10 4 4 4 8 4 是否为空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL (3) 登陆表:保存了管理员和仓库负责人的用户名和密码,权限等信息。
主键是用户名。 表4 字段列名 用户编号 用户名 密码 权限 字段类型 int char char char 字段大小 4 10 10 10 是否为空 NOT NULL NOT NULL NOT NULL NOT NULL (4) 库存信息表:保存了库存的基本信息,主键是商品存储编号 表5 字段列名
字段类型 7
字段大小 是否为空
商品存储编号 商品编号 单价 商品库存数量 生产日期 仓库编号 int int money int datetime int 4 4 10 4 8 4 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL (5)入库表:存储入库商品的基本信息,主键是入库号,外键是商品编号、仓库编号。 表6 字段列名 入库编号 商品编号 进价 数量 总价格 仓库编号 负责人 入库日期 字段类型 int int money int money int char datetime 字段大小 4 4 4 4 4 4 10 8 是否为空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL (6)出库表:存储出库商品的基本信息,主键是出库号,外键是商品编号、仓库编号。 表7 字段列名 出库编号 商品编号 售价 数量 总价格 仓库编号 负责人 出库日期 字段类型 int int money int money int char datetime 字段大小 4 4 4 4 4 4 10 8 是否为空 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL (7)仓库信息表:存储仓库的基本信息,主键是仓库号
8
表8
字段列名 仓库编号 仓库名 仓库说明
字段类型 int char cahr 字段大小 4 10 20 是否为空 NOT NULL NOT NULL NOT NULL 5 关键技术实现
5.1视图的设计 (1)仓库信息 create view ck_view
as select 仓库.仓库编号,仓库名,商品.商品编号,商品名,单价,商品库存数量,商品.生产日期
from 仓库,库存信息,商品
where 仓库.仓库编号=库存信息.仓库编号 and 商品.商品编号=库存信息.商品编号
(2)商品信息 create view sp_view as select * from 商品 (3)入库信息 create view rk_view as select * from 入库 (4) 出库信息 create view chuk_view as select * from 出库
5.2存储过程的设计
9
(1)create proc 增加供应商 @供应商编号 int, @供应商名 char(10), @电话号码 char(10), @地址 char(10) as insert into 供应商
values (@供应商编号,@供应商名,@电话号码,@地址) (2)create proc 增加商品 @商品编号 int, @商品名 char(10), @供应商编号 int, @进价 money, @售价 money, @生产日期 datetime, @库存量 int as insert into 商品
values (@商品编号,@商品名,@供应商编号,@进价,@售价,@生产日期,@库存量)
(3)create proc 增加用户 @用户编号 int, @用户名 char(10), @密码 char(10), @权限 char(10) as insert into 用户
values (@用户编号,@用户名,@密码,@权限) (4)create proc 增加库存信息 @商品存储编号 int, @商品编号 int, @单价 money,
10
@商品库存数量 int, @生产日期 datetime, @仓库编号 int as insert into 库存信息
values (@商品存储编号,@商品编号,@单价,@商品库存数量,@生产日期,@仓库编号)
(5) create proc 增加入库
@入库编号 int, @商品编号 int, @进价 money, @数量 int, @总价格 money, @仓库编号 int, @负责人 char(10), @入库日期 datetime as insert into 入库
values (@入库编号,@商品编号,@进价,@数量,@总价格,@仓库编
号,@负责人,@入库日期)
update 商品
set 商品.库存量=商品.库存量+@数量 where 商品.商品编号=@商品编号
update 库存信息
set 库存信息.商品库存数量=库存信息.商品库存数量+@数量
where 库存信息.商品编号=@商品编号 (6)create proc 增加出库
@出库编号 int,
@商品编号 int, @售价 money, @数量 int,
11
@总价格 money, @仓库编号 int, @负责人 char(10), @出库日期 datetime as insert into 出库
values (@出库编号,@商品编号,@售价,@数量,@总价格,@仓库
编号,@负责人,@出库日期)
update 商品
set 商品.库存量=商品.库存量-@数量 where 商品.商品编号=@商品编号
update 库存信息
set 库存信息.商品库存数量=库存信息.商品库存数量-@数量
where 库存信息.商品编号=@商品编号
(7)create proc 增加仓库
@仓库编号 int, @仓库名 char(10), @仓库说明 char(20) as insert into 仓库
values (@仓库编号,@仓库名,@仓库说明) (8)create proc 修改供应商 @供应商编号 int, @供应商名 char(10), @电话号码 char(10), @地址 char(10) as update 供应商
set 供应商.供应商编号=@供应商编号,供应商.供应商名=@供应商名,供应商.电话号码=@电话号码,供应商.地址=@地址 (9)create proc 修改商品 @商品编号 int,
12
@商品名 char(10), @供应商编号 int, @进价 money, @售价 money, @生产日期 datetime, @库存量 int as update 商品
set 商品.商品编号=@商品编号,商品.商品名=@商品名,商品.供应商编号=@供应商编号,商品.进价=@进价,商品.售价=@售价,商品.生产日期=@生产日期,商品.库存量=@库存量 (10)create proc 修改用户 @用户编号 int, @用户名 char(10), @密码 char(10), @权限 char(10) as update 用户
set 用户编号=@用户编号,用户名=@用户名,密码=@密码,权限=@权限 (11)create proc 修改库存信息 @商品存储编号 int, @商品编号 int, @单价 money, @商品库存数量 int, @生产日期 datetime, @仓库编号 int as update 库存信息
set 商品存储编号=@商品存储编号,商品编号=@商品编号,单价=@单价,商品库存数量=@商品库存数量,生产日期=@生产日期,仓库编号=@仓库编号 (12)create proc 修改入库 @入库编号 int,
13
@商品编号 int, @进价 money, @数量 int, @总价格 money, @仓库编号 int, @负责人 char(10), @入库日期 datetime as update 入库信息
set 入库编号=@入库编号,商品编号=@商品编号,进价=@进价,数量=@数量,总价格=@总价格,仓库编号=@仓库编号,负责人=@负责人,入库日期=@入库日期
(13)create proc 修改出库 @出库编号 int, @商品编号 int, @售价 money, @数量 int, @总价格 money, @仓库编号 int, @负责人 char(10), @出库日期 datetime as update 出库信息
set 出库编号=@出库编号,商品编号=@商品编号,售价=@售价,数量=@数量,总价格=@总价格,仓库编号=@仓库编号,负责人=@负责人,出库日期=@出库日期
(14)create proc 修改仓库 @仓库编号 int, @仓库名 char(10), @仓库说明 char(20) as update 仓库
14
set 仓库编号=@仓库编号,仓库名=@仓库名,仓库说明=@仓库说明 在增加入库、出库的存储过程时,会同时修改库存信息中商品编号相同的商品库存数量和商品信息中商品编号相同的库存量。 5.3触发器等的设计 (1)入库
create trigger update_or_insert入库 on 入库 for insert,update as declare @商品编号 int declare @数量 int
declare @入库日期 datetime declare @库存量 int
select @商品编号=商品编号 from inserted select @数量=数量 from inserted
select @入库日期=入库日期 from inserted
select @库存量=库存量 from 商品 where 商品.商品编号=@商品编号 if(@入库日期>getdate())or(@入库日期 if(@数量+@库存量>5000) begin print'此种商品在仓库仓库存储超过上限,请重输' rollback transaction end (2)出库 create trigger update_or_insert出库 on 出库 for insert,update as declare @商品编号 int declare @数量 int declare @出库日期 datetime 15 declare @库存量 int select @商品编号=商品编号 from inserted select @数量=数量 from inserted select @出库日期=出库日期 from inserted select @库存量=库存量 from 商品 where 商品.商品编号=@商品编号 if(@出库日期>getdate())or(@出库日期 if(@库存量-@数量<0) begin print'此种商品在仓库仓库存储已空,请重输' rollback transaction End 出库、入库日期必须在当天输入,当商品库存超过上限或下限,会提示重新输入。 6 数据库安全性控制 数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。安全性控制是指要尽可能杜绝所有数据库的非法访问。 所以我在数据库用户中分别创造胡明、胡朗、王明三个用户他们都只能访问ShangChangKuCun这个数据库,胡明有两个角色:DiskAdministration可管理磁盘文件、Bulk Insert Administrators可执行大容量插入操作。胡朗、王明拥有一个角色Bulk Insert Administrators可执行大容量插入操作。胡明拥有所有的权限。胡朗、王明只拥有搜索和插入数据的权限。 7总结与展望 在本次课程设计中我主要使用sql server 2000 来对数据库进行设计和开发。这个数据库主要分为三个部分,第一,用户的登录,用户可分为管理员和仓库负责人。管理员管理所有仓库的信息。仓库负责人只负责他所管理的那个仓库。第二,商品的出库入库,他记录了商品出库入库的信息。第三,基本信息,包括商品信息、库存信息、供应商信息、仓库信息、用户信息。 这个数据库基本实现了数据的更新,删除,添加等功能。在进行出库、入库 16 更新、添加等操作时,他对出库、入库商品的数量有提示,在商品入库数量超过库存容量时会提示超出仓库容量,当商品库存数量低于0时,也会提示。入库、出库日期只能输入当天的日期。同时这个数据库可以实现对商品信息和库存信息的有效管理,在建立数据库的同时也考虑到了各个方面基本符合一个小型的信息系统开发要求。但在一些所需的功能要求上,还存在着很多方面有待改进。例如,我想要在商品入库、出库的同时,由电脑把仓库中商品的库存量同时修改,不需要自己在去重新修改商品的库存量。还有就是那个总价格在输入好单价和数量是就可以由电脑计算出来后再输入到表格,不需要自己计算好再输进去。那出库、入库信息中的日期希望可以在添加的时候自动输入当天日期,不需要自己去输入。 参 考 文 献 列出课程设计过程中所参考的书籍、文献、以及网络资源 [1]百度文库:商场商品库存管理系统的设计与实现 http://wenku.baidu.com/view/198ad9daa58da0116c1749a0.html [2]石玉强 数据库原理及应用 [3]石玉强 数据库原理及应用实验指导 17 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务