数据库系统大作业之仓库管理系统Word格式文档下载.doc
《数据库系统大作业之仓库管理系统Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《数据库系统大作业之仓库管理系统Word格式文档下载.doc(22页珍藏版)》请在冰点文库上搜索。
删除货品分类
修改货品分类
添加货品分类
归还货品
查看货品详细记录
删除货品信息
修改货品信息
货品出口信息
货品入库信息
货品入库
查看货品库存
货品出库
4、数据字典
1)数据项
数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果,数据字典是对系统所用到的所有表结构的描述,仓库管理的主要数据见下表。
①仓库管理员信息表:
序号
字段
别名
数据类型
数据长度
码
1
Id
仓管员工号
int
4
Y
2
P-name
仓管员姓名
varchar
20
N
3
P-tel
仓管员电话
30
P-netnum
仓管员虚拟网号
50
5
P-officetel
仓管员办公室电话
6
P-content
仓管员备注信息
16
7
nowdata
添加仓管员的年月日
date
8
nowtime
添加仓管员的时分秒
10
②货品分类表:
ID
货品分类表标识
BigClassID
货品分类级别
BigClassNmae
货品分类名称
③货品入库表:
货品入库表标识
Shop-name
货品名称
Shop-type
货品型号
Shop-num
货品入库数量
Shop-nums
货品库存数量
Shop-time
货品入库时间
Date
Shop-price
货品购入单价
Shop-unit
货品单位
9
Shop-ib
货品所属类别
Shop-content
货品备注信息
11
新货入库时的年月日
12
新货入库时的时分秒
④货品出库表:
货品出库表标识
Int
Shop-id
货品类别标识
Go-person
取货人名称
Goshop-num
货品出库数量
Go-time
货品出库时间
Sure-person
货品批准人姓名
Shop-return
标识货品是否需要归还
Return-num
已归还数量
2)数据结构
数据结构反映了数据之间的组合关系。
一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。
经过数据项和用户需求的分析,我对本系统一共分了6个组,具体如下表所示:
数据结构名
含义说明
组成部分
仓库管理员信息管理
描述仓库管理员的基本信息
仓库管理员信息表标识+仓管员姓名+联系电话+虚拟网号+办公室电话+备注信息
描述货品分类的基本信息
货品分类表标识+分类级别+分类名称
货品入库管理
描述货品名称、货品型号、入库数量、入库时间、货品单位等信息
货品入库表标识+货品名称+货品型号+入库数量+库存数量+入库时间+购入单价+货品单位+货品所属类型+备注信息
货品出库管理
描述取货人姓名、批准人姓名、出库数量、出库日期、货品标识号等信息
货品出库表标识+货品类别标识+取货人名称+出库数量+出库时间+批准人姓名
描述货品归还的信息
归还时间+归还货品+领用人信息+批准人信息+已归还数量
描述货品的出入库、库存和详细信息
货品库存+货品详细信息+货品入库+货品出库
3)数据流
数据流是数据结构在系统内传输的路径。
通过对用户的需求分析,以及数据项和数据流的设计,得出了相应的数据流描述如下表所示:
①数据流定义表
编号
数据流名
组成
流量
备注
01
仓管员信息
一般
仓管员基本信息
02
货品分类信息
货品分类基本信息
03
大
货品详细信息
04
货品出库信息
05
货品归还信息
06
库存信息
07
查询结果
货品分类信息+货品入库信息+货品出库信息+货品归还信息
各种信息
08
统计分析
②外部项定义表
名称
输入数据流
输出数据流
系统管理员
主要用于录入仓管员信息
仓管员
主要用于仓管员查询货品信息
02/03/04/05
主要用于仓管员更新货品信息
经理
06/07
主要用于输出查询和统计信息的结果
4)数据储存
数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。
经过数据项、数据结构和数据流的设计,本系统一共选用了三个数据存储,具体对数据存储的描述通常如下表所示:
数据存储名
数据量
存取方式
A1
仓管员相关信息
批处理、顺序检索
A2
货品相关信息
批处理、更新、顺序检索
A3
货品库存
07/08
5)处理过程
处理过程的具体处理逻辑一般用判定表或判定树来描述。
对于本系统用于仓库管理一共设计了四种处理方法,具体处理方式如下表所示:
B1
插入修改
01,02,03,04,05
插入仓管员信息和货品信息
B2
更新修改
更新仓管员信息和货品信息
B3
删除修改
删除仓管员信息和货品信息
B4
07,08
统计学生信息和成绩
二、概念结构设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成独立于具体DBMS的概念模型。
1、数据流图
数据流图表达了数据和处理的关系,根据用户的需求分析和仓库管理系统的需求,得出如下图1-1所示的仓库管理数据流图。
搜索仓管员
删除借贷记录
查看货品信息
货品归还
管理员登录
查看批准人信息
货品搜索
查看借贷记录
货品清单
新货入库
查看仓管员
删除分类
修改分类
添加分类
仓库管理
添加仓管员
货品分类
图1—1仓库管理系统数据流图
2、系统E—R图
根据上面设计规划得出的实体有仓管员信息实体、入库实体、出库实体、库存实体、归还实体。
各个实体的E—R图及其关系描述如下:
信息表标识
姓名
联系电话
虚拟网号
办公室电话
图仓管员信息实体E—R图
入库
入库表标识
入库数量
入库时间
购入单价
货品所属类型
备注信息
库存数量
图入库实体E—R图
出库
出库表标识
取货人姓名
出库数量
出库时间
批准人姓名
图出库实体E—R图
归还
归还时间
领用人信息
批准人信息
图归还实体E—R图
库存
图库存实体E—R图
实体与实体间的关系E—R图如下所示:
图实体间的E—R关系图
图仓库管理系统E—R图
三、逻辑结构设计
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构一般分为3步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型换;
(3)对数据模型进行优化。
1、关系模型
将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:
一个实体型转换为一个关系模式。
实体的属性就是关系的属性,实体的码就是关系的码。
对于实体型间的联系则有以下不同的情况:
(1)一个1:
1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。
如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的个各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n联系转换为一个关系模式。
与该联系相连的个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。
与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
(5)具有相同码的关系模式可合并。
将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:
u仓管员(信息表标识,姓名,联系电话,虚拟网号,办公室电话),此为仓管员实体对应的关系模式。
u入库(入库表标识,货品名称,货品型号,入库数量,库存数量,入库时间,购入单价,货品单位,货品所属类型),此为入库实体对应的关系模式。
u出库(出库表标识,货品类别标识,取货人名称,出库数量,出库时间,批准人姓名),此为出库实体对应的关系模式。
u归还(归还时间,归还货品,领用人信息,批准人信息,已归还数量),此为归还实体对应的关系模式。
u库存(货品库存,货品详细信息,货品入库,货品出库),此为库存实体对应的关系模式。
四、物理结构设计与功能实现
1、物理结构设计
数据库的物理设计就是为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。
物理结构设计阶段实现的是数据库系统的内模式,它的质量直接决定了整个系统的性能。
因此在确定数据库的存储结构和存取方法之前,对数据库系统所支持的事务要进行仔细分析,获得优化数据库物理设计的参数
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存取结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
1.1确定数据库的存储结构
由于本系统的数据库建立不是很大,所以数据存储采用的是一个磁盘的一个分区。
1.2存取方法和优化方法
存取方法是快速存取数据库中数据的技术。
数据库管理系统一般都是提供多种存取方法。
常用的存取方法有三类。
第一类是索引方法,目前主要是B+树索引方法;
第二类是聚簇方法;
第三类是HASH方法。
数据库的索引类似书的目录。
在书中,目录允许用户不必浏览全书就能迅速地找到所需要的位置。
在数据库中,索引也允许应用程序迅速找到表中的数据,而不必扫描整个数据库。
在书中,目录就是内容和相应页号的清单。
在数据库中,索引就是表中数据和相应存储位置的列表。
使用索引可以大大减少数据的查询时间。
但需要注意的是索引虽然能加速查询的速度,但是为数据库中的每张表都设置大量的索引并不是一个明智的做法。
这是因为增加索引也有其不利的一面:
首先,每个索引都将占用一定的存储空间,如果建立聚簇索引(会改变数据物理存储位置的一种索引),占用需要的空间就会更大;
其次,当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,这样就降低了数据的更新速度。
2、功能实现
完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式。
然后就可以组织数据入库,最后就在此基础上编写各个表相关的创建、插入、删除和更新过程。
1)创建过程:
创建仓管员信息表:
CREATETABLECANGGUANYUAN(IDCHAR(4)NOTNULLPRIMARYKEY,
P_NAMEVARCHAR2(20),
P_TELVARCHAR2(30),
P_NETNUMVARCHAR2(50),
P_OFFICETELVARCHAR2(50),
P_CONTENTVARCHAR2(16),
NOWDATADATE,
NOWTIMEDATE);
创建货品分类信息表:
CREATETABLEHUOPINFEILEI(IDCHAR(4)NOTNULLPRIMARYKEY,
BIGCLASSIDVARCHAR2(50),
BIGCLASSNAMEVARCHAR2(50));
创建货品入库信息表:
CREATETABLEHUOPINRUKU(IDCHAR(4)NOTNULLPRIMARYKEY,
SHOP_NAMEVARCHAR2(50),
SHOP_TYPEVARCHAR2(50),
SHOP_NUMINT,
SHOP_NUMSINT,
SHOP_TIMEDATE,
SHOP_PRICEVARCHAR2(50),
SHOP_UNITVARCHAR2(50),
SHOP_IBVARCHAR2(50),
SHOP_CONTENTVARCHAR2(16),
NOWDATEDATE,
创建货品出库信息表:
CREATETABLEHUOPINCHUKU(IDCHAR(4)NOTNULLPRIMARYKEY,
SHOP_IDVARCHAR2(50),
GO_PERSONVARCHAR2(50),
GOSHOP_NUMINT,
GO_TIMEDATE,
SURE_PERSONVARCHAR2(50),
SHOP_RETURNVARCHAR2(50),
RETURN_NUMINT,
2)数据插入:
插入仓管员信息:
INSERTINTOCANGGUANYUAN(ID,P_NAME,P_TEL,P_NETNUM,P_OFFICETEL,P_CONTENT)VALUES(1,'
王红'
13765821111,0001,8290311,'
经理'
);
INSERTINTOCANGGUANYUAN(ID,P_NAME,P_TEL,P_NETNUM,P_OFFICETEL,P_CONTENT)VALUES(2,'
高云'
13765821112,0002,8290312,'
职员'
插入货品分类信息:
INSERTINTOHUOPINFENLEIVALUES(001,’一级’,’晶体管’);
INSERTINTOHUOPINFENLEIVALUES(002,’一级’,’显示器’);
插入货品入库信息:
INSERTINTO
HUOPINRUKU(ID,SHOP_NAME,SHOP_TYPE,SHOP_NUM,SHOP_NUMS,SHOP_PRICE,SHOP_UNIT,SHOP_IB,SHOP_CONTENT)
VALUES(0001,’康师傅方便面’,’FBM’,548,4568,1.8,’包’,’FBM’,’已入库’);
VALUES(002,’统一方便面’,’FBM’,648,8510,1.7,’包’,’FBM’,’已入库’);
插入货品出库信息:
INSERT