异构数据转换在数字图书馆建设中的应用

上传人:ji****81 文档编号:226545777 上传时间:2021-12-19 格式:DOCX 页数:9 大小:20.71KB
返回 下载 相关 举报
异构数据转换在数字图书馆建设中的应用_第1页
第1页 / 共9页
异构数据转换在数字图书馆建设中的应用_第2页
第2页 / 共9页
异构数据转换在数字图书馆建设中的应用_第3页
第3页 / 共9页
异构数据转换在数字图书馆建设中的应用_第4页
第4页 / 共9页
异构数据转换在数字图书馆建设中的应用_第5页
第5页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《异构数据转换在数字图书馆建设中的应用》由会员分享,可在线阅读,更多相关《异构数据转换在数字图书馆建设中的应用(9页珍藏版)》请在金锄头文库上搜索。

1、 异构数据转换在数字图书馆建设中的应用 摘 要随着数字图书馆的深入应用,在图书馆信息管理中出现了关系型数据和文档型数据等多种数据类型,不同类型之间的数据转换和数据共享成为数字图书馆建设的关键。针对此问题,本文从几个方面对文档数据库与关系型数据库进行了比较,提出了基于Microsoft的开放数据库连接(ODBC)技术、使用Lotus脚本语言实现关系型数据与文档型数据间的相互转换的基本思路和具体解决方法。关键词数据转换;异构数据;关系型数据;文档型数据;Lotus脚本语言G250.76 A 1008-0821(2009)09-0111-03Application of Heterogeneous

2、Data Conversion in Digital Library ConstructionZhu Xiaoyan(Library,Wuhan University,Wuhan 430072,China)AbstractThere are many data types such as relationship data and document data in the library information management along with the application of digital library construction.It is the key to the d

3、ata conversion and data share of different data types.A comparison is made between document database and RDB.The ODBC technology was analyzed based on Microsoft.The method and examples were analyzed to solve the data conversion between relationship database and document database using lotus script l

4、anguage.Key wordsdatabase conversion;heterogeneous data;ODBC;relationship data;document data;LotusScript language2006年,武汉大学推广学校仪器设备管理信息系统,利用校园网对全校设备进行管理。但学校的设备管理系统,只涉及到图书馆这个层面,只牵涉到设备在学校各院系,实验室,财务部,国有资产办公室等学校职能部门的流转,整个图书馆只有一个客户端;对设备到达图书馆后,在图书馆内部4个分馆及院系资料室是怎样分配,调拔,怎样动态的流转,并没有一个管理的端口。针对学校设备管理系统的不足,武汉大学

5、图书馆在图书馆办公自动化平台上开发了设备管理模块,实施设备一级财产账和二级使用账分开管理的体制。学校的设备管理系统开发工具是sql server 2000关系数据库,而图书馆的设备管理系统的开发工具是Domino的文档数据库。如何将学校的设备数据导出,再直接导入图书馆设备管理系统,作为一级财产账,避免数据重复录入的工作;或者将Domino的文档数据库转换成关系数据库,利用关系数据库强大的报表统计分析和复杂的计算功能,将具有现实的意义。本文将对不同类型的数据转换作一探讨。1 基本原理及思路1.1 ODBC概述ODBC是一种用来在相关或不相关的数据库管理系统(DBMS)中存取数据的,是用C语言实现

6、的标准应用程序数据接口。通过ODBCAPI,应用程序可以存取保存在多种不同数据库管理系统中的数据,而不论每个DBMS使用了何种数据存储格式和编程接口。ODBC的结构包括4个主要部分:(1)应用程序接口:屏蔽不同的ODBC数据库驱动器之间函数调用的差别,提供统一的SQL编程接口。(2)驱动器管理器:为应用程序装载数据库驱动器。(3)数据库驱动器:实现ODBC的函数调用,提供对特定数据源的SQL请求。(4)数据源:由想要存取的数据以及与其相关的操作系统、DBMS和用于访问DBMS的网络平台组成。1.2 Lotus Domino/Note编程语言介绍Lotus Domino/Note主要运用两种基本

7、开发语言(LotusScript编程语言与Notes公式语言)进行开发,并结合Lotus Domino/Note支持的Java和JavaScript编程语言。使用LotusScript编程语言书写Scripts,使用Notes的公式语言书写公式(即使用函数和命令)。LotusScript在Notes中运行能够提供如下功能:(1)LotusScript是一种程序语言,允许开发与C或C+兼容的应用软件。(2)LotusScript允许执行反复(循环),允许创建用户定义的数据类型,允许控制超出公式语言能力的程序流程。(3)LotusScript经由面向对象提供访问Notes用户界面和Notes NS

8、F文件(文档库)的程序。类是一种在现实对象模型化的数据类型,包括代表对象的数据和操作对象属性的子程序。一个Notes应用软件由一个或更多的数据库组成,每个数据库由视图、文档、域等组成。Notes包含一套预先定义了的类,这些类对应于数据元素。图1展示了一个对Domino文档数据库操作的流程示意图。Lotus Notes为了方便与其他程序进行数据接口,提供了一套专门的扩展类库,即LotusScript Data Object(LS:DO),它是由ODBCConnection,ODBCQuery,ODBCResultSet三个类组成的一个集合,提供对外部的ODBC数据的完全读、写访问。它们提供了通过

9、ODBC Version2.0标准访问和更新外部数据库中的表的属性和成员函数。ODBCConnection类:表示连接到数据源的ODBC数据存取特性。OCBCQuery类:表示定义一个SQL语句的ODBC数据存取特性。ODBCResultSet类:表示在结果集合上执行操作的ODBC数据存取特性。1.3 Domino文档数据库和关系数据库的区别Domino文档数据库是一个集数据与设计元素于一身的集合体,它的应用程序就是数据库,和关系型数据库不一样,它不存在一个不可见的与用户界面完全分离的“后台”。在本文深入展开时,需要区别文档数据库与关系数据库以下几个概念的不同:1.3.1 结构关系数据库是以二

10、维表格及其关系作为数据模型,表的每个行称为一条记录,每一个列称为一个属性(或字段),所有属性名称构成的集合称为关系模式。而Domino文档数据库的基本元素就是文档。这里的文档和关系数据库中的记录相似。Notes文档的结构是由表单(form)定义的,而表单由一组各式各样的字段域组成。域用于收集数据,域的域类型定义了此域能接受的信息类型,例如:文本、数字、日期或姓名等。在文档型数据库中域的概念与关系型数据库中的字段(Field)相类似。1.3.2 视图在关系型数据库和文档型数据库中,均有视图的概念。在关系型数据库中,视图是指从一个或几个基本表(或视图)导出的表。视图和基本表不同,视图是一个虚表,即

11、视图所对应的数据不实际存储在数据库中,数据库中只存储视图的定义(存在数据字典中)。在文档型数据库中,视图是文档的排序或分类列表。视图是对存储在数据库中的数据进行访问的入口。用户通过Notes预定义视图浏览文档内容。通过视图,用户可以从中看到关于文档的概要信息、文档的状态、文档的关键域,并可按某一准则对显示的信息进行分类和排序。Notes数据库通过预定义的视图查询数据,而关系型数据库通过在线查询查找数据。实质上,二者逻辑上非常相似,即视图所对应的数据均不实际存储在数据库中,数据库中只存储视图的定义。1.3.3 条目和属性在关系型数据库中,有属性(Attribute)的概念,即二维表中的每一列称为

12、一个属性,给每一列起一个名称即属性名。而在文档型数据库中,就没有“属性”,文档拥有的是条目(Item),条目是指存储于文档中的任意数据部分。每一个条目代表文档中一段数据,在用户界面中,是通过表单中的域来显示文档中的条目的。二者虽命名不同,但从“属性”的角度更容易理解文档型数据库中条目的意义。2 数据转换实例2.1 实现关系数据向文档数据转换的实例本文以图书馆设备管理模块为例。学校的设备管理信息系统采用SQL SERVER 2000数据库,数据具有封装性,各客户端无权对SQL SERVER 2000数据库操作,但有一个接口程序,可以将设备数据导出为EXCEL格式,存储在本地。图书馆对存在本地的E

13、XCEL数据,进行各种预处理,再导入到图书馆设备管理模块的文档数据库中。具体操作步骤如下:(1)调整存储在本地EXCEL设备数据各列的排序,剔除没有意义的列。本例中,在EXCEL工作簿中数据各列排序如表1(阿拉伯数字表示是第几列):(2)在办公自动化系统中,建立欲导入数据的“分馆验收设备”视图,确保此视图每一列表示的数据与EXCEL每一列表示的数据,意义相同;并且列排序的顺序相同。(3)在对比EXCEL数据列排序与办公自动化设备管理模块“分馆验收设备”视图列排序一致后,删除EXCEL设备数据列标题,并将EXCEL数据另存了为WK4(1-2-3)格式。(4)回到LOTUS浏览器客户端,选择“文件

14、”菜单,“引入”操作。弹出窗口如图2:(5)选择欲引入数据的表单,本例中为“仪器设备登记卡表单”,并勾选参数Main Document(要创建答复文档则勾选Response Document);View Defined;Calculate fields on form during document import(选择“文件引入时计算表单中的域”)。(6)点击“OK”按钮,数据自动从EXCEL工作簿导入到DOMINO文档数据库“分馆验收设备”视图。2.2 文档数据库向关系数据库转换实例文档数据库擅长于事务管理,而在报表分析,数据统计方面相对薄弱,而这恰是EXCEL程序优势,下面将展示将文档数据

15、库转换为EXCEL数据的实例。本例仍以图书馆设备管理模块为例。步骤如下:(1)在文档数据库视图里,勾选要导出为EXCEL数据的文档。(2)编辑文档数据库视图,创建操作按钮“导出数据”,并编写后端lotus script程序代码。程序的流程如图3所示:(3)在文档数据库视图里,单击操作按钮“导出数据”,程序响应对象事件,开启一个EXCEL工作表窗口。文档数据库中每一个已勾选的文档将变为EXCEL工作表中的一个行,每一个域将变为工作表中的一个列,原始域内容变为单元内容,列标题变为工作表中的标签。从而实现文档数据导出到EXCEL程序中,再可以导入到SQL SERVER 2000等关系型数据库中。取值

16、赋值,程序循环嵌套的核心代码如下:Do While Not(doc Is Nothing)设定循环数为列数For x=0 To Ubound(view.columns)If view.columns(x).IsHidden=False ThenIf view.columns(x).titleThenfieldname=view.columns(x).itemnameSet fitem=doc.getfirstitem(fieldname)循环取文档条目值,赋值给EXCEL单元格xlsheet.cells(rows,cols).value=fitem.textcols=cols+1End IfEnd IfNextrows=rows+1cols=1S

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 调研报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号