论文部分内容阅读
摘要:由于数据库应用的不断扩大,数据库管理变成了一个日益复杂的工作。该文按着需求分析、概念设计、物理设计的标准化思路,设计并实现了一个基于数据库的器材管理信息系统。针对应用中存在的问题,对系统的体系结构、功能结构、数据库设计、控件使用及关键代码进行了详细的阐述。该系统可以作为开发其他信息管理系统的参考模型。
关键词:信息系统;器材管理;标准化设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)16-3789-03
目前在器材管理的应用中,由于仓库与管理部门往往各处一地,管理部门所掌握的信息与实际库存信息会存在滞后、冗余、乃至差错,很难达成数据的实时同步。虽然各个仓库及管理部门都已配备了信息管理系统,但大多是单机版,不能实现资源与信息共享,更不能支持远程实时访问,已无法适应信息化建设快速发展的需要。随着网络硬件建设环境的进一步改善,基于成熟的数据库产品(如sqlsever200、oracle、mysql、sybase等),采用C/S或B/S架构设计器材管理系统,实现器材业务管理的网络化、实时性已经势在必行。
1器材管理系统的设计目标
利用该系统,仓库根据管理部门的出入库指令,进行出入库管理、时实更新数据库并将处置结果反馈给管理部门。管理部门可以及时查阅库存量,发出出入库指令并查询指令执行情况。仓库与管理部门的数据信息必须严格同步。仓库与管理部门都应设置访问权限,对数据库的操作应遵照预定的流程,社绝非受权用户对数据库系统的访问。
2器材管理系统的体系结构
为了近一步规避网络连接中的风险,数据库一般设专门的服务器,管理方与仓库方只作为客户端对数据库进行访问。管理方发出指令后,仓库方应及时进行响应。仓库方会采用轮询数据库的方式,当发现有末执行料单则立即向仓库管理员报告。
通常需要管理的仓库不止一个,一个仓库应建一个数据库系统。管理端根据不同的需要与相应的数据库进行连接,对仓库实施管理。其结构如图1所示。
4主要技术及实现方法
系统的实现在Windows2000server环境下完成。Windows2000server系统平台一般可以支持面积在1000~5000m2的大型仓库的数据量,每秒数据库并发数据访问记录数也可支持到500~2000,稳定性及维护水平较好。数据库采用了Sqlsever2000,若仓库数据量超过200000则可考虑采用Oracle。数据库服务器应连接到交换机的千兆端口上,以加快访问速度。考虑到开发的成熟度、系统稳定性及控件支持,代码部分采用了Delphi,利用了1stClass4000, fastreport,grid report等控件。
4.1数据库设计
围绕应用需求进行数据库的实体-联系模型(E-R)设计,按着3NF的标准对生成的关系模式进行规范化处理,消除数据冗余和数据异常,最终确定在数据库中一共建立13个数据表,包括12个业务处理数据表及一个用户数据表,其中业务处理数据表结构及其相互关系如图3所示。由于器材一般分类归档,大类中包含若干小类,小类中又包括子类,所以器材数据表采用了三级表结构,各级数据表由分类号进行关联。料单收发要建立专门的收发料数据表,还要有相应收发料明细表,记录每笔明细账目。入库表记录入库器材的名称、时间、数量等以方便针对入库信息的查询。库存表记录库存余量等,生产厂家表、收料单位表、用户表记录基本数据信息。
4.2料单制作功能的设计及实现
由于器材是分级管理的,为了方便收发器材的查询、选取、修改等操作,器材选取界面采用了类资源管理器模式,父类下包含若干子类,可以按需要展开或关闭下级条目。这里利用了1stClass4000控件,将一级器材库定义为根,二级、三级库定义为枝叶并进行了关联。1stClass4000控件可以灵活地控制窗体样式,实现界面的不同风格。料单制作主代码如下:
for i:=1to cn-1 do begin
sql.clear;
sql.add( ’insert into flmxb(xh,zbmc,dhgg,tzs,dj,zje,sccj,jldw,bz,mxh) values(’); sql.add(’’’’ Cells[0,i] ’’’’ ’,’ ’’’’ Cells[1,i] ’’’’ ’,’ ’’’’ Cells[2,i] ’’’’);
sql.add(’,’ ’’’’ Cells[3,i] ’’’’ ’,’ ’’’’ Cells[4,i] ’’’’ ’,’ ’’’’ Cells[5,i] ’’’’);
sql.add(’,’ ’’’’ Cells[6,i] ’’’’ ’,’ ’’’’ Cells[7,i] ’’’’);
sql.add(’,’ ’’’’ Cells[8,i] ’’’’);
sql.add(’,’ ’’’’ IntToStr(mxid) ’’’’ ’)’);
execsql;
Update;
end;
messagebox(addequipmetFrm.Handle,’料单已经成功发出’,’恭喜’,mb_ok);
4.3料单管理界面的设计及实现
收发料单管理界面窗体分三部分,第一部分是收发料单的记录,包括时间、状态、案由等等,第二部分包含对应第一部分每一料单记录的明细信息,包括器材名称、规格、计量单位等。第三部分是打印及管理区。
收发料单被执行后,若在规定时间内仓库端可以自主撤销。管理端对料单的撤销则需查看仓库端对该料单是否已执行。若末执行则可撤销,若执行则需采用其它方式撤销,主要代码如下:
if MessageDlg(’确认要撤销吗?’,mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
Delete;
mxhtemp:= qry1MXBH.Value ;
query:=’select * from flmxb where mxh=convert(varchar,’ ’’’’ mxhtemp ’’’’ ’)’;
sql.add(query);
open;
first;
if recordcount=0 then showmessage(’该编号明细料单没有找到,可能已删除!!!’)
else
edit;
for i:=1 to recordcount do
Delete;
end;
料单数据表的格式化打印采用了grip++report报表控件。利用该控件不仅可以实现报表的打印、打印预览、数据导出等常规功能,还可实现报表查询显示功能。一些复杂特殊的报表,如动态报表、多层表头、票据打印,发票套打、交叉表等也可利用该控件实现打印。
5结束语
在信息技术高速发展的今天,信息如何更高效、迅捷、安全地互连互通,如何实现数据、资源共享,如何优化业务流程,简化操作步骤、确保人、财、物的安全,信息化、网络化建设无疑是一条可行之路。该文针对器材管理业务,按着标准的数据库应用系统开发流程,设计并实现了一个器材管理信息系统原型,为开发面向信息管理系统的各种应用提供了一个标准参考模型。
参考文献:
[1]周兴华,李曾民,臧洪光. Delphi7数据库项目案例导航[M].北京:清华大学出版社,2005.
[2]耿静,王遵立.用Delphi开发数据库的编程方法[J].计算机系统应用,2000,12.
[3]张文修,梁怡,吴伟志.信息系统与知识发现[M].北京:科学出版社,2003 .
[4]左美云,邝孔武.信息系统的开发与管理教程[M].北京:清华大学出版社,2001 .
关键词:信息系统;器材管理;标准化设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)16-3789-03
目前在器材管理的应用中,由于仓库与管理部门往往各处一地,管理部门所掌握的信息与实际库存信息会存在滞后、冗余、乃至差错,很难达成数据的实时同步。虽然各个仓库及管理部门都已配备了信息管理系统,但大多是单机版,不能实现资源与信息共享,更不能支持远程实时访问,已无法适应信息化建设快速发展的需要。随着网络硬件建设环境的进一步改善,基于成熟的数据库产品(如sqlsever200、oracle、mysql、sybase等),采用C/S或B/S架构设计器材管理系统,实现器材业务管理的网络化、实时性已经势在必行。
1器材管理系统的设计目标
利用该系统,仓库根据管理部门的出入库指令,进行出入库管理、时实更新数据库并将处置结果反馈给管理部门。管理部门可以及时查阅库存量,发出出入库指令并查询指令执行情况。仓库与管理部门的数据信息必须严格同步。仓库与管理部门都应设置访问权限,对数据库的操作应遵照预定的流程,社绝非受权用户对数据库系统的访问。
2器材管理系统的体系结构
为了近一步规避网络连接中的风险,数据库一般设专门的服务器,管理方与仓库方只作为客户端对数据库进行访问。管理方发出指令后,仓库方应及时进行响应。仓库方会采用轮询数据库的方式,当发现有末执行料单则立即向仓库管理员报告。
通常需要管理的仓库不止一个,一个仓库应建一个数据库系统。管理端根据不同的需要与相应的数据库进行连接,对仓库实施管理。其结构如图1所示。
4主要技术及实现方法
系统的实现在Windows2000server环境下完成。Windows2000server系统平台一般可以支持面积在1000~5000m2的大型仓库的数据量,每秒数据库并发数据访问记录数也可支持到500~2000,稳定性及维护水平较好。数据库采用了Sqlsever2000,若仓库数据量超过200000则可考虑采用Oracle。数据库服务器应连接到交换机的千兆端口上,以加快访问速度。考虑到开发的成熟度、系统稳定性及控件支持,代码部分采用了Delphi,利用了1stClass4000, fastreport,grid report等控件。
4.1数据库设计
围绕应用需求进行数据库的实体-联系模型(E-R)设计,按着3NF的标准对生成的关系模式进行规范化处理,消除数据冗余和数据异常,最终确定在数据库中一共建立13个数据表,包括12个业务处理数据表及一个用户数据表,其中业务处理数据表结构及其相互关系如图3所示。由于器材一般分类归档,大类中包含若干小类,小类中又包括子类,所以器材数据表采用了三级表结构,各级数据表由分类号进行关联。料单收发要建立专门的收发料数据表,还要有相应收发料明细表,记录每笔明细账目。入库表记录入库器材的名称、时间、数量等以方便针对入库信息的查询。库存表记录库存余量等,生产厂家表、收料单位表、用户表记录基本数据信息。
4.2料单制作功能的设计及实现
由于器材是分级管理的,为了方便收发器材的查询、选取、修改等操作,器材选取界面采用了类资源管理器模式,父类下包含若干子类,可以按需要展开或关闭下级条目。这里利用了1stClass4000控件,将一级器材库定义为根,二级、三级库定义为枝叶并进行了关联。1stClass4000控件可以灵活地控制窗体样式,实现界面的不同风格。料单制作主代码如下:
for i:=1to cn-1 do begin
sql.clear;
sql.add( ’insert into flmxb(xh,zbmc,dhgg,tzs,dj,zje,sccj,jldw,bz,mxh) values(’); sql.add(’’’’ Cells[0,i] ’’’’ ’,’ ’’’’ Cells[1,i] ’’’’ ’,’ ’’’’ Cells[2,i] ’’’’);
sql.add(’,’ ’’’’ Cells[3,i] ’’’’ ’,’ ’’’’ Cells[4,i] ’’’’ ’,’ ’’’’ Cells[5,i] ’’’’);
sql.add(’,’ ’’’’ Cells[6,i] ’’’’ ’,’ ’’’’ Cells[7,i] ’’’’);
sql.add(’,’ ’’’’ Cells[8,i] ’’’’);
sql.add(’,’ ’’’’ IntToStr(mxid) ’’’’ ’)’);
execsql;
Update;
end;
messagebox(addequipmetFrm.Handle,’料单已经成功发出’,’恭喜’,mb_ok);
4.3料单管理界面的设计及实现
收发料单管理界面窗体分三部分,第一部分是收发料单的记录,包括时间、状态、案由等等,第二部分包含对应第一部分每一料单记录的明细信息,包括器材名称、规格、计量单位等。第三部分是打印及管理区。
收发料单被执行后,若在规定时间内仓库端可以自主撤销。管理端对料单的撤销则需查看仓库端对该料单是否已执行。若末执行则可撤销,若执行则需采用其它方式撤销,主要代码如下:
if MessageDlg(’确认要撤销吗?’,mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
Delete;
mxhtemp:= qry1MXBH.Value ;
query:=’select * from flmxb where mxh=convert(varchar,’ ’’’’ mxhtemp ’’’’ ’)’;
sql.add(query);
open;
first;
if recordcount=0 then showmessage(’该编号明细料单没有找到,可能已删除!!!’)
else
edit;
for i:=1 to recordcount do
Delete;
end;
料单数据表的格式化打印采用了grip++report报表控件。利用该控件不仅可以实现报表的打印、打印预览、数据导出等常规功能,还可实现报表查询显示功能。一些复杂特殊的报表,如动态报表、多层表头、票据打印,发票套打、交叉表等也可利用该控件实现打印。
5结束语
在信息技术高速发展的今天,信息如何更高效、迅捷、安全地互连互通,如何实现数据、资源共享,如何优化业务流程,简化操作步骤、确保人、财、物的安全,信息化、网络化建设无疑是一条可行之路。该文针对器材管理业务,按着标准的数据库应用系统开发流程,设计并实现了一个器材管理信息系统原型,为开发面向信息管理系统的各种应用提供了一个标准参考模型。
参考文献:
[1]周兴华,李曾民,臧洪光. Delphi7数据库项目案例导航[M].北京:清华大学出版社,2005.
[2]耿静,王遵立.用Delphi开发数据库的编程方法[J].计算机系统应用,2000,12.
[3]张文修,梁怡,吴伟志.信息系统与知识发现[M].北京:科学出版社,2003 .
[4]左美云,邝孔武.信息系统的开发与管理教程[M].北京:清华大学出版社,2001 .