数据库课程设计企业库存管理及web网上订购系统.docx
- 文档编号:29442301
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:24
- 大小:484.04KB
数据库课程设计企业库存管理及web网上订购系统.docx
《数据库课程设计企业库存管理及web网上订购系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计企业库存管理及web网上订购系统.docx(24页珍藏版)》请在冰豆网上搜索。
数据库课程设计企业库存管理及web网上订购系统
数据库课程设计
指导教师
题目企业库存管理系统
学院数学与计算机科学学院
班级计科13-1
姓名
2015年11月11日
库存管理系统
1.绪论
库存管理系统可以全面管理仓库中存储的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序、为采购、销售、和生产提供依据,从而提高企业的经营效率。
2.需求说明
系统开发的总体任务是实现全面管理仓库中存储的商品和货物,缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序、为采购、销售、和生产提供依据,从而提高企业的经营效率。
库存管理系统需要完成的功能主要有:
(1)基本信息管理
本信息包括客户信息、仓库信息、和用户信息。
客户可以分为供应商和购货商两种类型。
在产品入库时,需要提供供应商的信息;在产品出库和退货时,需要提供购货商的信息。
仓库信息包括仓库编号、仓库名和仓库说明等信息。
用户信息包括用户名、密码、员工姓名等信息。
基本信息管理模块可以实现以下功能:
添加、修改、删除和查看客户信息;添加、修改、删除和查看仓库信息;添加、修改、删除和查看用户信息;
(2)产品信息管理功能模块可以实现以下功能
添加产品类别、修改产品类别、删除产品类别、查看产品类别、添加产品信息、修改产品信息、删除产品信息、查询产品信息。
(3)库存操作管理
库存操作是由仓库管理员执行,就是把产品放入仓库或把产品从仓库中取出的操作,用专业术语来描述就是入库和出库。
库存操作管理模块可以实现入库管理、出库管理和库存管理等功能;入库可以分为采购入库、生产入库、退货入库、退料入库等情况。
采购入库指将从供应商处采购的产品入库;生产入库是指将企
业自己生产的产品入库;退货入库是售出的产品退货后,将退货产品入库;退料入库是指用于本企业生产的原材料出库后没有完全使用,退回仓库。
入库操作需要记录相关的产品信息、仓库信息、客户信息、经办人、涉及金额和入库时间等信息。
出库可以分为销售出库、退货出库、用料出库等情况。
销售出库是指把卖给购货商的产品出库;退货出库是指将本企业用于生产的原材料从仓库中提取到生产线。
出库操作需要记录相关的产品信息、仓库信息、客户信息、经办人、涉及金额和出库时间等信息。
库存盘点是指对库存产品进行整理,纠正不准确的库存数据。
由于人为操作等原因,系统中的库存数据与实际数据之间可能会存在误差。
所以每隔一段时间就需要对库存进行盘点,从而保证库存数据的准确性。
(4)库存警示管理
库存警示是指对库存中接近或超过临界值的产品进行报警。
在产品信息中,包括产品的合理数量范围和有效期限。
产品数量小于合理数量的下限称为短线;产品数量大于合理数量的上限称为超储。
产品出现短线、超储、接近或超过有效期限时都需报警。
库存警示管理模块可以实现以下功能:
库存产品数量报警;库存产品失效报警。
(5)统计查询管理功能
统计查询管理模块可以对库存产品进行各个类型的统计和查询,从而使用户能够全面的了解库存情况。
库存出入库统计报表;库存产品流水线统计报表。
对上述各功能进行集中、模块划分,得到系统功能模块图,如图2-1。
(6)系统流程分析
系统流程就是用户在使用系统时的工作过程。
系统的工作流程都是从用户登录模块开始,对用户身份进行权限验证,进而对于系统进行管理的。
本系统的流程分析图2-1与2-2所示:
库存操作管理
用户信息管理
基
本信息
管理
仓库信息管理
产品信息管理
产品类别管理
客户信息管理
产品信息管理
库存产品统计表
入库操作管理
出库操作管理
库存盘点管理
数量报警管理
失效报警管理
产品出库统计表
库存警示管理
统计查询管理
图2-1系统功能模块图
用户登陆
开始
失败超过3次
读取用户类型
退出程序
1、管理自己的用户信息
2、管理普通的用户信息
管理自己的用户信息
基本信息管理
产品信息管理
库存操作管理
库存警示管理
统计查询管理
重试
失败
是
成功
Admin用户
普通用户
用户管理模块
企业库存管理模块
图2-2系统功能流程图
3.概念模型设计
从上面的信息中规定出的实体有客户实体、仓库实体、产品实体、库存产品实体、产品出库实体、产品入库实体等。
由于此库存管理系统中以上的实体都是存在着三元关系,故客户、仓库、产品之间存在的三元关系的E-R下面的图1所示;仓库、产品、库存产品之间存在的三元关系的E-R下面的图2所示;客户、仓库、产品出库之间存在的三元关系的E-R下面的图3所示;客户、仓库、产品入库之间存在的三元关系的E-R下面的图3-1、3-2、3-3、3-4所示:
图3-1
仓库
产品
仓库编号
仓库名称
仓库说明
产品名称
产品编号
产品类型编号
计量单位
产品规格
参考价格
存储
库存产品
产品入库单价
产品数量
产品存储编号
生产日期
M
N
P
图3-2
图3-3
图3-4
4.逻辑设计
用户的需求具体体现在各种信息的提供、保存、修改、查询等方面,经调查和分析,针对一般库存管理系统的需求和对系统流程图的分析,设计成如下的逻辑结构。
(1)客户信息表Client
客户信息表Client用来保存客户信息。
表Client的结构如表所示:
编号
字段名称
数据结构
说明
1
Cid
int
客户编号
2
Cname
varchar(50)
客户名称
3
Ctype
tinyint
客户类型
4
Contact
varchar(30)
联系人
5
Adderss
varchar(50)
通信地址
6
Postcode
varchar(10)
邮政编码
7
Phone
varchar(30)
联系电话
8
Fax
varchar(30)
传真电话
9
Memo
varchar(100)
备注信息
(2)仓库信息表Storehouse
编号
字段名称
数据结构
说明
1
Sid
int
仓库编号
2
Sname
varchar(50)
仓库名称
3
Memo
varchar(100)
仓库说明
(3)用户信息表Users
编号
字段名称
数据结构
说明
1
UserName
varchar(40)
用户名
2
Pwd
varchar(40)
密码
3
User_type
tinyint
用户类型
(4)产品类别表ProType
产品类别表ProType用来保存产品类别信息,表ProType的结构如图所示:
编号
字段名称
数据结构
说明
1
TypeId
int
产品类别编号
2
TypeName
varchar(50)
产品类别名称
3
UpperId
int
上级产品类别
(5)产品信息表Product
产品信息表Product用来保存产品的基本信息。
表Product的结构如图所示:
编号
字段名称
数据结构
说明
1
Pid
int
产品编号
2
Pname
varchar(50)
产品名称
3
TypeId
int
产品类型编号
4
Ptyle
varchar(50)
产品规格
5
Punit
varchar(10)
计量单位
6
Pprice
Decimal(15,2)
参考价格
7
Plow
int
产品数量下限
8
Phigh
int
产品数量上限
9
Valid
Int
有效期(以天为单位)
10
AlarmDays
int
在到达有效期前几天发出警告
(6)入库操作信息表StoreIn
入库操作信息表StoreIn用来保存入库操作的基本信息。
表StoreIn的结构如表所示:
编号
字段名称
数据结构
说明
1
SidType
Varchar(20)
入库操作类型
2
Pid
int
入库产品编号
3
MakeDate
Char(10)
生产日期
4
Pprice
Decimal(15,2)
入库产品单位
5
Pnum
int
入库产品数量
6
Cid
int
客户编号
7
Sid
int
仓库编号
8
EmpName
varchar(50)
经办人
9
OptDate
Char(10)
入库日期
(7)出库操作信息表TakeOut
出库操作信息表TakeOut用来保存出库操作的基本信息。
表TakeOut的结构如图所示:
编号
字段名称
数据结构
说明
1
Ttype
Varchar(20)
出库操作类型
2
Pid
int
出库产品编号
3
Pprice
Decimal(15,2)
出库产品单位
4
Pnum
int
出库产品数量
5
Cid
int
客户编号
6
Sid
int
仓库编号
7
EmpName
varchar(50)
经办人
8
OptDate
Char(10)
出库日期
(8)库存产品信息表ProInStore
库存产品信息表ProInStore用来保存库存产品的基本信息如图所示:
编号
字段名称
数据结构
说明
1
SpId
int
产品存储编号
2
Pid
int
产品编号
3
Pprice
Decimal(15,2)
产品入库单价
7
Pnum
int
产品数量
8
MakeDate
char(10)
生产日期
9
Sid
int
仓库编号
5.物理设计
(1)为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项
Client(Cid)
Product(Pid)
Storehouse(Sid)
ProInStore(SpId)
ProType(TypeId)
Users(UserName)
StoreIn(Cid,Pid,Sid)
TakeOut(Cid,Pid,Sid)
(2)用SQL实现设计
实现该设计的环境为Windows2000SQLServer2000.
①创建数据库
createdatabaseStore
②创建客户信息表Client
createtableClient
(CidintprimarykeyCLUSTERED,
Cnamevarchar(50)notnull,
Ctypetinyint,
Contactvarchar(30),
Addressvarchar(50),
Postcodevarchar(10),
Phonevarchar(30),
Faxvarchar(30),
Memovarchar(100)
)
Go
③创建仓库信息表Storehous
createtableStorehouse
(SidintprimarykeyCLUSTERED,
Snamevarchar(50)notnull,
Memovarchar(100)
)
Go
④创建用户信息表Users
createtableUsers
(UserNamevarchar(40)primarykeyCLUSTERED,
Pwdvarchar(40)notnull,
User_Typetinyintnotnull
)
Go
⑤创建产品类别表ProType
createtableProType
(TypeIdintprimarykeyCLUSTERED,
TypeNamevarchar(50)notnull,
UpperIdint
)
Go
⑥创建产品信息表Product
createtableProduct
(PidintprimarykeyCLUSTERED,
Pnamevarchar(50)notnull,
TypeIdint,
Pstylevarchar(50),
Punitvarchar(10),
Ppricedecimal(15,2),
Plowint,
Phighint,
Validint,
AlarmDaysint
)
Go
⑦创建入库操作信息表StoreIn
createtableStoreIn
(SiTypevarchar(20),
Pidint,
MakeDatechar(10),
Ppricedecimal(15,2),
Pnumint,
Cidint,
Sidint,
EmpNamevarchar(50),
OptDatechar(10),
CONSTRAINTPK_STOREINPRIMARYKEYClUSTERED(Cid,Pid,Sid),
CONSTRAINTFK_STOREIN_CLIENTFOREIGNKEY(Cid)
REFERENCESClient(Cid),
CONSTRAINTFK_STOREIN_PRODUCTFOREIGNKEY(Pid)
REFERENCESProduct(Pid),
CONSTRAINTFK_STOREIN_STOREFOREIGNKEY(Sid)
REFERENCESStorehouse(Sid))
Go
⑧创建出库操作信息表TakeOut
createtableTakeOut
(Ttypevarchar(20)notnull,
Pidint,
Ppricedecimal(15,2),
Pnumint,
Cidint,
Sidint,
EmpNamevarchar(50),
OptDatechar(20),
CONSTRAINTPK_TAKEOUOTPRIMARYKEYClUSTERED(Cid,Pid,Sid),
CONSTRAINTFK_TAKEOUT_CLIENTFOREIGNKEY(Cid)
REFERENCESClient(Cid),
CONSTRAINTFK_TAKEOUT_PRODUCTFOREIGNKEY(Pid)
REFERENCESProduct(Pid),
CONSTRAINTFK_TAKEOUT_STOREFOREIGNKEY(Sid)
REFERENCESStorehouse(Sid))
⑨创建库存产品信息表ProInStore
createtableProInStore
(SpIdintprimarykeyCLUSTERED,
Pidintnotnull,
Ppricedecimal(15,2),
Pnumint,
MakeDatechar(10),
Sidint
)
Go
⑩创建存储过程实现插入、删除、更新
//存储过程实现客户信息表Client的信息插入
CREATEprocClient_insert
@Cnamevarchar(50),
@Ctypetinyint,
@Contactvarchar(30),
@Addressvarchar(50),
@Postcodevarchar(10),
@Phonevarchar(30),
@Faxvarchar(30),
@Memovarchar(100)
as
insertintoClientvalues(@Cname,@Ctype,@Contact,@Address,@Postcode,@Phone,@Fax,@Memo)
GO
//存储过程实现客户信息表Client的信息删除
createprocClient_Delete
@Cnamevarchar(50),
as
deletefromClientwhereCname=@Cname
Go
//存储过程实现客户信息表Client的信息修改
createprocClient_Update
@Cnamevarchar(50),
@Contactvarchar(30),
as
updateClientsetCname=@CnamewhereContact=@Contact
go
//存储过程实现用户信息表Users的信息插入
CREATEprocUsers_insert
@UserNamevarchar(40),
@Pwdvarchar(40),
@User_Typetinyint
as
insertintoUsersvalues(@UserName,@Pwd,@User_Type)
GO
//存储过程实现用户信息表Users的信息删除
createprocUsers_Delete
@UserNamevarchar(40),
as
deletefromUserswhereUserName=@UserName
Go
//存储过程实现用户信息表Users的信息修改
createprocUsers_Update
@UserNamevarchar(40),
@Pwdvarchar(40),
as
updateUserssetUserName=@UserNamewherePwd=@Pwd
Go
⑪数据库连接说明
⑫数据库逻辑结构设计展示
6.实验数据示例
对用户的操作
(1)注册(register)
INSERTINTOUsers(UserName,Pwd,User_Type)
VALUES('A',888888,1);
select*fromUsers
在登记操作后,用户得到一个唯一的UserName,可以根据这个
UserName来查询和修改大部分的数据。
(2)注销(unregister)
DELETEUsers
WHERE(UserName='A');
(3)修改个人信息(update)
UPDATEUsersSet(UserName=B,Pwd=1,User_Type=1)
WHERE(UserName=A);
(4)插入信息(ProType)
InsertintoProTypevalues(23,’产品’,’农副产品’)
(5)查询信息(ProType)
Select*fromProType
7.部分功能展示
(1)用户主界面
(2)入库窗体展示
(3)设计窗体和报表模块
(4)操作日志报表
8总结
通过本次设计我学习了如何使用SQLServer2000和VC++来创建数据库。
此库存管理系统缩短了库存信息流转时间,使企业的物料管理层次分明、井然有序、为采购、销售、和生产提供依据,从而提高企业的经营效率,适用于各大型商场和一些较大的物品管理企业。
参考文献
[1]钱雪忠罗海驰.数据库原理及技术课程设计.北京:
清华大学出版社,2009
[2]史嘉权.数据库系统概论.北京:
清华大学出版社,2006
[3]温贤发.VisualC++6.0数据库程序设计.北京:
科学出版社,2004
[4]董传银.VisualC++6.0数据库编程技术.北京:
希望电子出版社,2004
[5]启明工作室.VisualC+++SQLServer数据库系统开发与实例.北京:
人民邮电出版社,2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 企业 库存 管理 web 网上 订购 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)