1 引言
目前我军车辆器材管理信息系统广泛应用于仓库、供应站及部队单位,作为器材筹措、储存、供应和管理的统一业务平台。器材计算机管理系统是实现器材仓库业务流程规范化,统计数据标准化,数据传输网络化,信息采集自动化的基本条件。器材库存管理数据库作为器材管理信息系统的核心组成部分,集中存储了大量日常工作数据,这些数据在器材保障各业务部门之间流通和共享,直接应用于各部门的数据统计和查询,并作为器材消耗预测分析、库存控制模型分析等决策支持系统的底层数据源,间接服务于高层管理决策。因此,如何设计结构合理、模式规范的应用数据库,使系统能够高效存储和优化查询,是本论文亟需解决的问题,也是建立车辆器材管理信息系统的系统目标。
2 相关理论和方法
数据库设计是要求在特定的应用环境中构造出较优的数据库模式,建立起业务数据库使系统能有效地存储数据,满足用户的各种应用需求。数据库设计要遵循规范化设计原则,使数据冗余少,保证数据的唯一性、正确性和完整性。
2.1 规范化理论
所谓规范化就是用形式更为简洁、结构更加合理的关系模式取代原有关系的过程。规范化的目的是使消除存储异常,使数据冗余尽量小,便于插入、删除和更新。以函数依赖为基础的关系模式的规范化等级主要有5种,即第1范式(1NF),第2范式(2NF),第3范式(3NF),BC范式(BCNF)和第4范式(4NF),满足这些范式条件的关系模式可在不同程度上避免冗余、插入和更新异常问题。
根据实体联系E—R图写出的关系模式通常存在一些操作上的异常问题,为了消除这些异常问题,需要进行规范化处理,优化数据模式。具体做法是:确定数据依赖,把每个关系模式的各个属性按数据分析阶段所得到的语义写出其数据依赖,同时,考察不同的关系模式属性之间是否还存在某种数据依赖,得到一组数据依赖及诸关系的全部数据依赖。按照数据依赖的理论,逐一分析这组关系模式,确定他们属于第几范式,进行模式分解。
2.2 模式分解原则
进行模式分解时由于受到数据间的相互约束,分解不可能是随意的。在规范化的关系分解过程中,不仅要着眼于提高关系的范式等级,而且应遵守以下3条原则:
(1)无损分解原则。无损分解就是在关系分解过程中,既不丢失数据也不增加数据,同时还能保持原有的函数依赖。一个关系分解为多个关系,原来的数据就存储到多个关系中。起码要求分解后不能丢失原来的信息。
(2)相互独立原则。所谓独立是指分解后的新关系之间相互独立,对一个关系内容的修改不应该影响到另一关系。
(3)范式等级适当。关系分解必须从实际出发,并不是范式等级越高,分解得越细就越好。若把关系分解得过于琐碎,虽然对于消除数据冗余和更新异常等有好处,但在进行检索操作时往往又需要进行链接,从而使检索效率大大降低。而且在数据库操作中,通常检索操作多于更新操作.其结果很可能是分解带来的好处与检索的效率降低相比,得不偿失。因此一般规范化只需达到3NF就可以了。
2.3 改善数据库性能
关系数据库的性能好坏主要体现在查询速度上,这是数据库应用的一个关键问题,必须在数据库的设计中加以认真考虑,特别是对那些响应时间要求较苛刻的应用环境,应予以特别注意。可以从以下几个方面改善数据库性能,提高查询速度.达到数据库设计的优化目的。
(1)减少连接操作。连接操作对数据库的查询速度有着重要的影响。参与联接的关系越多,查询越慢。对一些常用的和性能要求较高的数据库查询,最好是一元查询,这与规范化的要求相矛盾。此时可以通过逆规范化,即把规范化的关系再合并起来,以保证性能。但这样会引起更新异常,必须采取相应的措施来保证数据库的完整性,但也会增加系统的开销。因此,做逆规范化时需要权衡利弊,仔细分析应用的数据存取需求和实际的系统性能。
(2)减小关系大小及数据量。被查询关系的大小对查询速度影响很大。为了提高查询速度,可以采用水平分割或垂直分割等方法把一个关系分成几个关系,使每个关系的数据量减少。垂直分割可提高常用数据的查询速度,但也可能使某些操作不得不执行连接操作,从而降低了效率。因此,决定是否进行垂直分割取决于是否垂直分割后数据库上的所有操作的总效率得到了提高。同时,垂直分割还要确保无损连接和保持函数依赖。
3 器材库存管理数据库结构设计
3.1 概念设计
本系统主要涉及到器材的调拨供应、器材入库和出库等业务流程和数据的管理,涉及主要实体有请领单位或部门、器材、调拨单、仓库、出库单、入库单等。采用E—R模型来描述实体间的联系,如图l所示。器材调拨时由器材使用部门根据请领计划申请调拨单,核准的调拨单由仓库执行。器材入库、出库时仓库需根据入库、出库单进行操作。这里只描述其中主要的实体及其关系。
图l 车辆器材仓储管理信息系统出/入库
分页
3.2 逻辑结构
数据库逻辑结构设计就是将概念结构转换为关系表,以便在关系数据库管理系统(DBMS)中实现。通常首先将E—R图中的每一个实体和联系转换为一个关系表,然后进行模式分解规范化处理,得到关系大小和关系连接均适中的最优表结构。本数据库逻辑模型的主要表结构如下。
(1)Items表。Items表主要属性有器材代码()、器材种类()、器材名称(Name)、型号(·tion)、单位(Unit)、价格()、安全储备量(—ta)。为了保持系统器材目录的完整性,防止因删除一些器材导致系统出错,用一个字段标记器材是否已被删除,已删除的器材不再出现于入库单和出库单中。字段为主键。具有唯一性。
(2)表。表主要属性有仓库代码()、仓库编号()、仓库名称(De—)、仓库保管员()、上级仓库(—seID),字段为主键,具有唯一性,是为提高输人效率而设置的输入代码。
(3)表。表主要属性有计划单号()、入库日期()、经办人(-ID)、仓库()、供货单位()、质检员()、收货单位()、备注()。同时增加一个字段,自动递增,标识入库流水单号。字段为主键,具有唯一性。
(4)表。表主要属性有出库单号()、出库日期()、经办人()、仓库()、所在部门()、搬运工()、备注()。将字段作为表的标识列,自动递增,标识出库流水单号。字段为主键,具有唯一性。
3.3 物理实现
本文采用公司最新发布的一款关系数据库管理系统SQL 2008,它继承了SQL 和SQL 可靠性、可用性、可编程性和易用性等方面的特点,在保护数据库查询、服务器简化管理操作、增加应用程序稳定性和系统执行效能方面等更具强大的性能优势,是大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。本系统在SQL 2008环境中建立了器材库存管理数据库Qica—Ware。其树状结构如图2所示。
图2 Qica,Ware树状结构
4 结束语
数据库将信息系统中大量数据按一定的模型组织起来,提供存储、维护、检索数据的功能,使用户可以方便、及时、准确地从数据库中获得所需的信息。数据库的设计是信息系统开发和建设的重要组成部分,需要与应用系统的设计相结合,因而是件复杂而细致的工作。本文仅对器材库存管理数据库的逻辑结构进行了初步设计,并应用多表连接和嵌套子查询实现了特定目标的查询应用,更细致和更完善的数据库设计如视图设计、触发器设计、存储过程设计和安全性设计等还有待深入进行。