电脑配件库存管理系统的数据库设计与数据操作.docx
- 文档编号:8130568
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:20
- 大小:545.29KB
电脑配件库存管理系统的数据库设计与数据操作.docx
《电脑配件库存管理系统的数据库设计与数据操作.docx》由会员分享,可在线阅读,更多相关《电脑配件库存管理系统的数据库设计与数据操作.docx(20页珍藏版)》请在冰豆网上搜索。
电脑配件库存管理系统的数据库设计与数据操作
电脑配件库存管理系统的数据库设计与数据操作(总24页)
课程设计Ⅱ
设计说明书
电脑配件库存管理系统的数据库设计与数据操作
学生姓名
白又丞
学号
03
班级
信管1201
成绩
指导教师
钟永友
数学与计算机科学学院
2014年9月12日
课程设计任务书
2014—2015学年第一学期
课程设计名称:
课程设计Ⅱ
课程设计题目:
电脑配件库存管理系统的数据库设计与数据操作
完成期限:
自2014年9月1日至2014年9月12日共2周
设计内容:
一、按系统如下功能进行数据库设计:
1.用户管理:
用户注册,删除、修改;
2.电脑配件的基本信息管理:
包括分类、基本信息属性;
3.出入库管理:
主要是指配件采购入库、生产组装的配件出库;
4.库存盘点和预警:
盘点是清点配件与实际账目是否一致,预警是当配件不足时警告;
5.查询统计:
按年和月进行出入库的统计、现有库存的统计;
二、要求
利用相关的DB的设计工具,如PowerDesigner或者其它工具完成,要求如下:
1.按数据库分析与设计的流程进行:
包括需求分析(系统需求概况、数据流图、数据字典等)、概念结构设计(使用E-R图设计)、逻辑结构设计(主要是将ER图转换为关系模式)和物理结构设计
2.利用SQLServer建立数据库和表并进行相关数据操作:
如表的建立,查询,视图建立和存储过程设计以及相应的SQL语句。
指导教师:
钟永友教研室负责人:
陈波
课程设计评阅
评语:
指导教师签名:
年月日
摘要
设计了一个电脑配件库存管理系统的数据库,该系统具备管理仓库中存储的货物以及进出入库的管理和每月每年的货物出入量统计。
本数据库前期进行需求分析以及概念模型设计,使用PowerDesigner建立物理模型,再转化为Sqlserver数据库文件,建立好数据库。
操作简单,界面清晰,易于为用户所接受。
关键词:
配件管理;出入库管理;统计管理
1课题描述
一个电脑配件物流企业需要部分业务网络化管理,需要开发一个库存管理系统货物入库管理系统,主要实现货物出入库、库存和统计的管理。
货物出入库:
运输货物到仓库,送货人员把货物交给仓库管理人员,仓库管理员填写出入库单(货物编号、货物名称、数量、日期、金额、负责人、货物存放仓库编号),把货物放置库房的相应位置。
库存管理:
管理人员把货物存储到相应仓库,填写存货账目(时间、货物编号,类别号、货物名称、入库数量、出库数量、入库人、出库人、货物金额),当货物不足或者超量时预警
货物统计:
管理人员每月每年进行仓库货物的统计(仓库编号、货物编号、现有库存量、出库总量、入库总量)。
该系统要求对于仓库管理人员企业人员能随时了解仓库的活动,包括货物的存储情况,库房空闲情况和货物流动,谁进行的货物进出操作等信息。
2需求分析
系统需求概况:
(1)仓库管理:
每个仓库设有编号,各个仓库存放同一类型的电脑配件,以便于取货。
(2)配件管理:
把配件分类编号,配件类型分类,记录货物的有效期,防止货物堆积过期。
(3)入库管理:
生产商将货物连同填好的入库单一起送到仓库,仓库管理员将验收货物,首先将货物的编号、类型、价格和数量与入库单进行核对,在核对无误后将货物按类别分类入库,并填写货物入库登记表。
(4)出库管理:
提货商向仓库保管员出示出库单,仓库保管员根据有效产品出库单及时付货,取货人员将货物与出库单核对无误后,提取货物,同时把出库单交给仓库保管员,仓库保管员则按照出库单登记货物的出库信息。
(5)库存管理:
每天入库、出库处理结束后,仓库管理员将根据入库登记表和出库登记表对配件分别进行累计,并将累计结果填入库存账务,如果某些货物超量或者不足时进行预警,并及时调配货物。
(6)统计管理:
每月和每年都进行出入库的统计,直接从出库和入库管理帐单中统计,同时统计结果和现有库存量进行比对盘点账目是否一致。
数据流图:
数据字典:
主要数据流定义:
(1)数据流名称:
入库情况
定义:
入库情况=货物+数量+时间+有效期+货物类别
说明:
入库情况是货物的入库单记录。
(2)数据流名称:
供应情况
定义:
供应情况=供应商+货物金额+负责人
说明:
供应情况是对供货商的管理记录。
(3)数据流名称:
库存情况
定义:
库存情况=仓库+货物+数量+库存上限+库存下限
说明:
库存情况是对仓库内货物的管理记录。
(4)数据流名称:
取货情况
定义:
取货情况=货物+数量+时间+金额
说明:
取货情况是取货商提供取货的管理记录。
主要数据存储定义
(1)数据存储名称:
出库记录
数据结构:
出库记录=货物编号+货物名+数量+有效期+出库时间+所属仓库编号
说明:
出库记录是货物出库信息。
(2)数据存储名称:
入库记录
数据结构:
入库记录=货物编号+货物名+数量+有效期+入库时间+所属仓库编号
说明:
入库记录是货物入库信息。
(3)数据存储名称:
库存记录
数据结构:
库存记录=仓库编号+货物编号+货物数量
说明:
库存记录的是货物库存的信息。
(4)数据存储名称:
月/年出入库总量记录
数据结构:
月/年出入库总量记录=货物编号+入库信息+出库信息
说明:
月/年出入库总量记录的是货物每月每年的出入库统计信息
主要处理过程
(1)处理过程名:
出库管理
输入:
货物情况,库存情况
输出:
出库记录
处理说明:
管理人员根据取货单,前往相应仓库取货物,填写好出库记录。
(2)处理过程名:
入库管理
输入:
货物情况,库存情况
输出:
入库记录
处理说明:
管理人员根据入库单,前往相应仓库存入货物,填写好入库记录。
(3)处理过程名:
库存管理
输入:
货物情况,库存情况
输出:
库存记录
处理说明:
把仓库内的货物进行清点,填好库存记录。
(4)处理过程名:
统计管理
输入:
出库信息,入库信息,库存信息
输出:
月/年出入库总量记录
处理说明:
把出库信息,入库信息进行统计,总结每月/年的出入库量,再核对信息。
3概念结构设计
E-R图:
从需求概况分析中,把该系统主要分为四大管理模块。
图库存管理E-R图
图出库管理E-R图
图入库管理E-R图
图统计管理E-R图
4逻辑结构设计
将电脑配件库存管理系统数据库概念结构转换成关系模型,可得电脑配件库存管理系统数据库逻辑结构,结果如下:
配件(配件编号,配件类别编号,配件名称,有效期,单价)
客户(客户编号,客户姓名,客户类型,联系电话)
配件类别(配件类别编号,类别名称)
仓库(仓库编号,仓库信息,仓库备注)
库存(仓库编号,配件编号,库存量,库存上限,库存下限)
出库(配件编号,仓库编号,客户编号,出库数量,出库日期,出库负责人,出库配件金额)
入库(配件编号,仓库编号,客户编号,入库数量,入库日期,入库负责人,入库配件金额)
统计(仓库编号,配件编号,现有库存量,月出库总量,年出库总量,月入库总量,年入库总量)
5物理结构设计
使用PowerDesigner建立物理模型:
图物理模型
6建立数据库
建立仓库表:
createtable仓库(
仓库编号numeric(11)notnull,
仓库信息char(11)null,
仓库备注char(11)null,
constraintPK_仓库primarykeynonclustered(仓库编号)
)
Go
建立入库表:
createtable入库(
配件编号numeric(11)notnull,
仓库编号numeric(11)notnull,
客户编号numeric(11)notnull,
入库数量char(11)null,
入口日期datetimenull,
入库负责人char(11)null,
入库配件金额numeric(11)null,
constraintPK_入库primarykey(配件编号,仓库编号,客户编号)
)
Go
建立出库表:
createtable出库(
配件编号numeric(11)notnull,
仓库编号numeric(11)notnull,
客户编号numeric(11)notnull,
出库数量numeric(11)null,
出库日期datetimenull,
出库负责人char(11)null,
出库配件金额numeric(11)null,
constraintPK_出库primarykey(配件编号,仓库编号,客户编号)
)
Go
建立客户表:
createtable客户(
客户编号numeric(11)notnull,
客户姓名char(11)null,
客户类型char(11)null,
联系电话numeric(20)null,
constraintPK_客户primarykeynonclustered(客户编号)
)
go
建立库存表:
createtable库存(
配件编号numeric(11)notnull,
仓库编号numeric(11)notnull,
库存量numeric(11)null,
库存下限numeric(11)null,
库存上限numeric(11)null,
constraintPK_库存primarykey(配件编号,仓库编号)
)
go
建立统计表:
createtable统计(
仓库编号numeric(11)null,
配件编号numeric(11)null,
现有库存量numericnull,
月出库总量numericnull,
年出库总量numericnull,
月入库总量numericnull,
年入库总量numericnull
)
Go
建立配件信息表:
createtable配件信息(
配件编号numeric(11)notnull,
配件类别编号numeric(11)null,
配件名称char(11)null,
有效期numeric(11)null,
单价numeric(11)null,
constraintPK_配件信息primarykeynonclustered(配件编号)
)
Go
建立配件类别表:
createtable配件类别(
配件类别编号numeric(11)notnull,
配件类别名char(11)null,
constraintPK_配件类别primarykeynonclustered(配件类别编号)
)
Go
数据库联系及约束条件:
ifexists(select1
fromsysobjects
whereid=object_id('仓库')
andtype='U')
droptable仓库
go
ifexists(select1
fromsysobjects
whereid=object_id('入库')
andtype='U')
droptable入库
go
ifexists(select1
fromsysobjects
whereid=object_id('出库')
andtype='U')
droptable出库
go
ifexists(select1
fromsysobjects
whereid=object_id('客户')
andtype='U')
droptable客户
go
ifexists(select1
fromsysobjects
whereid=object_id('库存')
andtype='U')
droptable库存
go
ifexists(select1
fromsysindexes
whereid=object_id('统计')
andname='Relationship_3_FK'
andindid>0
andindid<255)
dropindex统计.Relationship_3_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('统计')
andname='Relationship_2_FK'
andindid>0
andindid<255)
dropindex统计.Relationship_2_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('统计')
andtype='U')
droptable统计
go
ifexists(select1
fromsysindexes
whereid=object_id('配件信息')
andname='分类_FK'
andindid>0
andindid<255)
dropindex配件信息.分类_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('配件信息')
andtype='U')
droptable配件信息
go
ifexists(select1
fromsysobjects
whereid=object_id('配件类别')
andtype='U')
droptable配件类别
go
createindexRelationship_2_FKon统计(
仓库编号ASC
)
go
createindexRelationship_3_FKon统计(
配件编号ASC
)
go
createindex分类_FKon配件信息(
配件类别编号ASC
)
go
altertable入库
addconstraintFK_入库_入库_配件信息foreignkey(配件编号)
references配件信息(配件编号)
Go
altertable入库
addconstraintFK_入库_入库2_仓库foreignkey(仓库编号)
references仓库(仓库编号)
go
altertable入库
addconstraintFK_入库_入库3_客户foreignkey(客户编号)
references客户(客户编号)
go
altertable出库
addconstraintFK_出库_出库_配件信息foreignkey(配件编号)
references配件信息(配件编号)
go
altertable出库
addconstraintFK_出库_出库2_仓库foreignkey(仓库编号)
references仓库(仓库编号)
go
altertable出库
addconstraintFK_出库_出库3_客户foreignkey(客户编号)
references客户(客户编号)
go
altertable库存
addconstraintFK_库存_库存_配件信息foreignkey(配件编号)
references配件信息(配件编号)
go
altertable库存
addconstraintFK_库存_库存2_仓库foreignkey(仓库编号)
references仓库(仓库编号)
go
altertable统计
addconstraintFK_统计_RELATIONS_仓库foreignkey(仓库编号)
references仓库(仓库编号)
go
altertable统计
addconstraintFK_统计_RELATIONS_配件信息foreignkey(配件编号)
references配件信息(配件编号)
go
altertable配件信息
addconstraintFK_配件信息_分类_配件类别foreignkey(配件类别编号)
references配件类别(配件类别编号)
Go
7数据库操作
建立出库信息单视图:
createview出库信息单
asselect客户.客户编号,配件信息.配件编号,配件名称,出库数量,出库日期,出库负责人
from客户,配件信息,出库
Where客户.客户编号=出库.客户编号and配件信息.配件编号=出库.配件编号
图建立出库信息单视图
建立库存信息单视图:
createview库存信息单
asselect配件信息.配件编号,配件名称,配件类别名,库存量
from配件信息,配件类别,库存
where配件信息.配件类别编号=配件类别.配件类别编号and配件信息.配件编号=库存.配件编号
图建立库存信息单视图
查询配件单价位50元的配件信息:
Select*
From配件信息
Where单价=50
图查询配件单价位50元的配件信息
建立存储过程:
Createprocedure配件
As
Select*
From配件信息,配件类别
Where配件信息.配件类别编号=配件类别.配件类别编号
Go
Exec配件
图建立存储过程
8总结
本次课程设计基本完成了课程任务书所要求的数据库设计和数据库操作,使用了PowerDesigner建模工具以及SQLserver2000建立数据库,所建立的数据库基本符合使用要求,在需求分析以及概念结构设计中还有不足,没有更加完善和全面的去分析数据库。
需要以后多加练习,从多个方面分析数据库的构成。
所设计的数据库的功能基本完善,但是对于库存统计方面和预警方面稍为繁琐,需要改进。
参考文献
[1]苗雪兰,刘瑞斯.数据库系统原理及应用教程(第三版)[M].北京:
机械工业出版社,2007
[2]赵韵平,徐茂生.系统分析与建模(第二版)[M].北京:
清华大学出版社,2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电脑 配件 库存 管理 系统 数据库 设计 数据 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)