叶浩波
摘要:随着办公自动化系统的广泛应用,适用于办公自动化系统的工作流技术的Notes数据库已经成为大家关注的热点问题。该文首先简单分析Notes数据库与关系数据库的关系及其各自的优势;然后从应用的角度描述Notes数据库与关系数据库之间的转化方法。
关键词:工作流技术;Notes数据库;关系数据库;转化方法
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)05-1002-02
A Brief Analysis of the Relationship between Notes Databases and Relational Databases
YE Hao-bo
(City College of Dongguan, University of Technology, Dongguan 523106, China)
Abstract: With the wide application of office automation system, the Notes database technology has become a hot issue for its suitable for office automation system workflow. This paper analysis the relationship between the Notes database and the relational database and their re? spective advantages at first; then desribe the transformation method between the Notes database and the relational database from the applica? tion angle.
Key words: workflow technology; notes databases; relational databases; transforming method
在科技不断发展的今天,办公室人员的工作已经发生了较大的变化,已经从原来的数据与文件为中心的个人独立工作方式发展到了以工作流为核心的团队工作上。现代化的办公体系正朝着高速的信息处理、统一的工作流程、先进的知识管理为一身的知识型方向发展,所以现代化办公自动化(OA)系统在现代化的企业管理中发挥的着越来越重要的作用。
OA系统的后台数据库产品有很多,从目前的软件开发的情况来看,主流产品是IBM的Notes数据库,正因为如此,Notes数据库已经成为大家关注的热点问题,而在办公自动化系统里有一部分功能的实现需要用到关系数据库,这两种数据库之间的关系及他们之间的转化方法是怎的呢?本文下面将作一个简单的分析。
1工作流技术
从OA系统的发展过程来看,我们可以清楚的认识到,办公自动化系统的核心技术是工作流技术。那么什么是工作流技术呢?它是在一个工作群组中,为了一个共同的目的或者某种任务,在这个群组的人员需要共同协作地去完成某一项工作,工作的方式可以是按先后顺序或者同时进行。它包含一组活动、活动之间的内在关系、活动开始和结束的条件、活动的功能描述等内容。概括来说,它是一个电子化的办公流程,能方便地处理办公系统中文档的收发、传递、审阅等操作。把工作流技术用在OA系统中可以对现代化管理提供帮助:
第一、它可以加强事务处理的各个环节的协同工作的能力,从而可以让工作的运作的非常通畅。
第二、工作流技术将各项事务的管理由原来的人工管理转变为工作流服务器来管理,所以办公人员可以从大量的繁琐的工作中解脱出来,从而可以将工作重点转换到怎么更好地做好事件。
第三、工作流技术对工作流程重组提供了非常实用的技术支持和分析方法。在快速发展的当今社会,管理水平和技术水平都在日益更新,对于办公室的工作流程发生变化的机会也在增多。所以办公自动化系统应该能够快速适应这种动态的变化。一般传统的技术或者方法不能适应这种变化,可是工作流技术和OA系统的结合就能很快适应这种动态变化,从而实现企业的协同办公。
2关系数据库与Notes数据库的比较与转化方法
2.1关系数据库和Notes数据库的比较
Notes数据库:它主要是以存储文本文档为其主要内容的数据库管理系统,也就是说它的数据的元组就是文本文档,是一种非数值型的数据。但是这种非数值型(非结构型)的数据对于Lotus Notes处理起来更为方便,如视频、声频、传真、OLE对象、图形、页面、表格等数据类型Notes处理起来会灵活一点。
对于数据的访问,Lotus Notes是通过全文检索方式访问数据库的数据,对于检索定位方面,Lotus Notes是通过视图定位数据的方式。
关系数据库:它是一个数值型的DBMS,主要通过数学公式来处理数据,所以对于一个事务型的流程,它必须先将其转化为严格的数学公式以后,才能在数据库上进行处理,数据库中的表实际就是一张二维表,关系型数据库对一些结构化(数值型)的数据处理起来相当快捷。
对于数据的访问,关系型数据库是通过SQL语言访问数据库的数据,对于检索定位方面,关系型数据库是通过实时查询来定位数据。
通过上述的比较,两种数据库各有各的优势,而在办公自动化系统中有一些部门可能会用到一些复杂计算、数据处理等方面的功能,我们知道这些都是Notes不太善长的地方,又加之现在的JSP、ASP等脚本语言访问关系型数据库是十分方便的,所以要是能将两种数据库进行相互转化就能解决系统中的问题,下面本文介绍在本系统中他们之间的转换方法。
2.2两种数据库之间的转化方法
2.2.1 Notes数据库转化为关系数据库
为了与其他的管理信息系统进行信息的交换,在Notes数据库管理系统里面有一套专门针对和外部程序数据的扩展类库,也就是Lotus Script Data Object,,这套扩展类库由三个基本的类构成的一个整体,它们分别是ODBC Result Set、ODBC Query和ODBC Connection,通过他们来完成与外部数据之间的访问和修改,由于它所使用的标准是ODBC,就通过这样的标准来读取的修改外部数据库的数据的属性和相应的方法。这三种类主要分工是这样的,ODBC Connection是负责与外部数据库之间的连接,ODBC Query主要用于一个结构化查询语言语句的定义,而ODBC Result Set主要用于在通过SQL语句查询结果数据集上执行相应数据读取的操作,在数据库中我们主要利用RTF域存放Notes文档数据,而对于RTF域来说,我们可以在数据库的表单的任何位置放置它,正是因为RTF域可以包含无限制的数据的特点刚好可以满足文本的特性,所以对于文本中包含有图片、文字、独立的文件、甚至可以是一些对象。在关系型数据库中常处理的一些数据,如文件的名字、生成的时间、文字、日期等我们可以在关系型数据库直接处理。对于每一个程序文档完成后就执行QuerySave,使用Lotus脚本语言编写子程序模块QuerySave将查询的信息数据写到关系型数据库中。
综上所述,Notes数据库转化为关系数据库可以是以下几个过程;
第一步就是要创建三个类:即ODBC Connection、ODBC Query、ODBC Result Set;
第二步就是数据库的连接,即用ConnectTo函数连接到SQL数据库,同时使用查询语句进行查询操作;
第三步就是将查询的qry. Sql和结果集相连接,执行有关函数如result.execute查询到关系数据库中的情况,当result.currentrow等于零的时候,则可以写入新一批的数据,李不然就修改数据。
2.2.2关系数据库转化为Notes数据库
在Notes数据库中我们采取ODBC标准来访问各种不同数据类型的信息,我们可以利用Notes的内部函数或者相应的脚本语言,就可以将关系数据库中的有关数据写入到Notes文档中,把这些数据变换为Notes数据,我们具体的方法有两种:
方法一:将@Db函数引入到Notes有关的函数当中。Notes内部有三个函数,即@DbCommand、@DbLookup和@DbColumn,只要在上述函数在第一个参数使用了“ODBC,这样就是读取有关的关系型数据库中的表,这种方法也有很明显的不足之处,它对于信息的提取只能以列的方式进行,不能以行的方式进行。
方法二:采用Lotus Script数据对象LSX,同时利用Lotus脚本语言编写相关的数据读取函数,在Notes里面的ODBC Connection、ODBC Query、ODBC Result Set就是使用ODBC标准来读取外部的各种不同的数据。
上面两种方法进行比较,作者认为第二种方法更为科学,下面就简单谈谈这种方法的实现过程:
首先,在Notes数据库中,我们按照SQL数据库相应表单里的结构同样建立一个一样结构的表单,这样做的好处就在于能够将关系型数据库中的数据进行一一转换,并且容易理解,然后就建立相关的代理,用脚本语言写相应的转换程序;
然后,创建视图来执行上述的代理,从而可以实现将关系型数据库中有关的数据表单转换成notes数据库中的信息。
3结束语
本文在上面的叙述当中我们可以发现在OA系统的开发过程中,只要处理好数据库,就可以做到有的放矢,这就是说,我们可以根据系统的要求,在需要使用Notes数据库的模块里就Notes数据库,在需要使用SQL数据库的地方就使用关系型数据库,通过相应的转换办法,就可以实现它们之间的数据共享。
参考文献:
[1]秦佩君,杨学良.工作流技术在办公自动化系统中的应用[J].计算机工程与设计,2001(3).
[2]熊伟清,魏平.Lotus/domino/Notes的工作流技术剖析[J].计算机应用研究,2001(12).
[3]武坤.Lotus Domino/Notes R6应用开发[M].北京:机械工业出版社,2005.