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