999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

異構(gòu)數(shù)據(jù)轉(zhuǎn)換在數(shù)字圖書館建設(shè)中的應(yīng)用

2009-04-29 00:00:00朱曉燕
現(xiàn)代情報(bào) 2009年9期

〔摘 要〕隨著數(shù)字圖書館的深入應(yīng)用,在圖書館信息管理中出現(xiàn)了關(guān)系型數(shù)據(jù)和文檔型數(shù)據(jù)等多種數(shù)據(jù)類型,不同類型之間的數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)共享成為數(shù)字圖書館建設(shè)的關(guān)鍵。針對此問題,本文從幾個方面對文檔數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫進(jìn)行了比較,提出了基于Microsoft的開放數(shù)據(jù)庫連接(ODBC)技術(shù)、使用Lotus腳本語言實(shí)現(xiàn)關(guān)系型數(shù)據(jù)與文檔型數(shù)據(jù)間的相互轉(zhuǎn)換的基本思路和具體解決方法。

〔關(guān)鍵詞〕數(shù)據(jù)轉(zhuǎn)換;異構(gòu)數(shù)據(jù);關(guān)系型數(shù)據(jù);文檔型數(shù)據(jù);Lotus腳本語言

〔中圖分類號〕G250.76 〔文獻(xiàn)標(biāo)識碼〕A 〔文章編號〕1008-0821(2009)09-0111-03

Application of Heterogeneous Data Conversion in Digital Library ConstructionZhu Xiaoyan

(Library,Wuhan University,Wuhan 430072,China)

〔Abstract〕There 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 data 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 language.

〔Key words〕database conversion;heterogeneous data;ODBC;relationship data;document data;LotusScript language

2006年,武漢大學(xué)推廣學(xué)校儀器設(shè)備管理信息系統(tǒng),利用校園網(wǎng)對全校設(shè)備進(jìn)行管理。但學(xué)校的設(shè)備管理系統(tǒng),只涉及到圖書館這個層面,只牽涉到設(shè)備在學(xué)校各院系,實(shí)驗(yàn)室,財(cái)務(wù)部,國有資產(chǎn)辦公室等學(xué)校職能部門的流轉(zhuǎn),整個圖書館只有一個客戶端;對設(shè)備到達(dá)圖書館后,在圖書館內(nèi)部4個分館及院系資料室是怎樣分配,調(diào)拔,怎樣動態(tài)的流轉(zhuǎn),并沒有一個管理的端口。針對學(xué)校設(shè)備管理系統(tǒng)的不足,武漢大學(xué)圖書館在圖書館辦公自動化平臺上開發(fā)了設(shè)備管理模塊,實(shí)施設(shè)備一級財(cái)產(chǎn)賬和二級使用賬分開管理的體制。學(xué)校的設(shè)備管理系統(tǒng)開發(fā)工具是sql server 2000關(guān)系數(shù)據(jù)庫,而圖書館的設(shè)備管理系統(tǒng)的開發(fā)工具是Domino的文檔數(shù)據(jù)庫。如何將學(xué)校的設(shè)備數(shù)據(jù)導(dǎo)出,再直接導(dǎo)入圖書館設(shè)備管理系統(tǒng),作為一級財(cái)產(chǎn)賬,避免數(shù)據(jù)重復(fù)錄入的工作;或者將Domino的文檔數(shù)據(jù)庫轉(zhuǎn)換成關(guān)系數(shù)據(jù)庫,利用關(guān)系數(shù)據(jù)庫強(qiáng)大的報(bào)表統(tǒng)計(jì)分析和復(fù)雜的計(jì)算功能,將具有現(xiàn)實(shí)的意義。本文將對不同類型的數(shù)據(jù)轉(zhuǎn)換作一探討。

1 基本原理及思路

1.1 ODBC概述

ODBC是一種用來在相關(guān)或不相關(guān)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)中存取數(shù)據(jù)的,是用C語言實(shí)現(xiàn)的標(biāo)準(zhǔn)應(yīng)用程序數(shù)據(jù)接口。通過ODBCAPI,應(yīng)用程序可以存取保存在多種不同數(shù)據(jù)庫管理系統(tǒng)中的數(shù)據(jù),而不論每個DBMS使用了何種數(shù)據(jù)存儲格式和編程接口。ODBC的結(jié)構(gòu)包括4個主要部分:

(1)應(yīng)用程序接口:屏蔽不同的ODBC數(shù)據(jù)庫驅(qū)動器之間函數(shù)調(diào)用的差別,提供統(tǒng)一的SQL編程接口。

(2)驅(qū)動器管理器:為應(yīng)用程序裝載數(shù)據(jù)庫驅(qū)動器。

(3)數(shù)據(jù)庫驅(qū)動器:實(shí)現(xiàn)ODBC的函數(shù)調(diào)用,提供對特定數(shù)據(jù)源的SQL請求。

(4)數(shù)據(jù)源:由想要存取的數(shù)據(jù)以及與其相關(guān)的操作系統(tǒng)、DBMS和用于訪問DBMS的網(wǎng)絡(luò)平臺組成。

1.2 Lotus Domino/Note編程語言介紹

Lotus Domino/Note主要運(yùn)用兩種基本開發(fā)語言(LotusScript編程語言與Notes公式語言)進(jìn)行開發(fā),并結(jié)合Lotus Domino/Note支持的Java和JavaScript編程語言。使用LotusScript編程語言書寫Scripts,使用Notes的公式語言書寫公式(即使用函數(shù)和命令)。LotusScript在Notes中運(yùn)行能夠提供如下功能:

(1)LotusScript是一種程序語言,允許開發(fā)與C或C++兼容的應(yīng)用軟件。

(2)LotusScript允許執(zhí)行反復(fù)(循環(huán)),允許創(chuàng)建用戶定義的數(shù)據(jù)類型,允許控制超出公式語言能力的程序流程。

(3)LotusScript經(jīng)由面向?qū)ο筇峁┰L問Notes用戶界面和Notes NSF文件(文檔庫)的程序。

類是一種在現(xiàn)實(shí)對象模型化的數(shù)據(jù)類型,包括代表對象的數(shù)據(jù)和操作對象屬性的子程序。一個Notes應(yīng)用軟件由一個或更多的數(shù)據(jù)庫組成,每個數(shù)據(jù)庫由視圖、文檔、域等組成。Notes包含一套預(yù)先定義了的類,這些類對應(yīng)于數(shù)據(jù)元素。圖1展示了一個對Domino文檔數(shù)據(jù)庫操作的流程示意圖。

Lotus Notes為了方便與其他程序進(jìn)行數(shù)據(jù)接口,提供了一套專門的擴(kuò)展類庫,即LotusScript Data Object(LS:DO),它是由ODBCConnection,ODBCQuery,ODBCResultSet三個類組成的一個集合,提供對外部的ODBC數(shù)據(jù)的完全讀、寫訪問。它們提供了通過ODBC Version2.0標(biāo)準(zhǔn)訪問和更新外部數(shù)據(jù)庫中的表的屬性和成員函數(shù)。

ODBCConnection類:表示連接到數(shù)據(jù)源的ODBC數(shù)據(jù)存取特性。

OCBCQuery類:表示定義一個SQL語句的ODBC數(shù)據(jù)存取特性。

ODBCResultSet類:表示在結(jié)果集合上執(zhí)行操作的ODBC數(shù)據(jù)存取特性。

1.3 Domino文檔數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫的區(qū)別

Domino文檔數(shù)據(jù)庫是一個集數(shù)據(jù)與設(shè)計(jì)元素于一身的集合體,它的應(yīng)用程序就是數(shù)據(jù)庫,和關(guān)系型數(shù)據(jù)庫不一樣,它不存在一個不可見的與用戶界面完全分離的“后臺”。在本文深入展開時,需要區(qū)別文檔數(shù)據(jù)庫與關(guān)系數(shù)據(jù)庫以下幾個概念的不同:

1.3.1 結(jié)構(gòu)

關(guān)系數(shù)據(jù)庫是以二維表格及其關(guān)系作為數(shù)據(jù)模型,表的每個行稱為一條記錄,每一個列稱為一個屬性(或字段),所有屬性名稱構(gòu)成的集合稱為關(guān)系模式。而Domino文檔數(shù)據(jù)庫的基本元素就是文檔。這里的文檔和關(guān)系數(shù)據(jù)庫中的記錄相似。Notes文檔的結(jié)構(gòu)是由表單(form)定義的,而表單由一組各式各樣的字段域組成。域用于收集數(shù)據(jù),域的域類型定義了此域能接受的信息類型,例如:文本、數(shù)字、日期或姓名等。在文檔型數(shù)據(jù)庫中域的概念與關(guān)系型數(shù)據(jù)庫中的字段(Field)相類似。

1.3.2 視圖

在關(guān)系型數(shù)據(jù)庫和文檔型數(shù)據(jù)庫中,均有視圖的概念。在關(guān)系型數(shù)據(jù)庫中,視圖是指從一個或幾個基本表(或視圖)導(dǎo)出的表。視圖和基本表不同,視圖是一個虛表,即視圖所對應(yīng)的數(shù)據(jù)不實(shí)際存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫中只存儲視圖的定義(存在數(shù)據(jù)字典中)。在文檔型數(shù)據(jù)庫中,視圖是文檔的排序或分類列表。視圖是對存儲在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行訪問的入口。用戶通過Notes預(yù)定義視圖瀏覽文檔內(nèi)容。通過視圖,用戶可以從中看到關(guān)于文檔的概要信息、文檔的狀態(tài)、文檔的關(guān)鍵域,并可按某一準(zhǔn)則對顯示的信息進(jìn)行分類和排序。Notes數(shù)據(jù)庫通過預(yù)定義的視圖查詢數(shù)據(jù),而關(guān)系型數(shù)據(jù)庫通過在線查詢查找數(shù)據(jù)。實(shí)質(zhì)上,二者邏輯上非常相似,即視圖所對應(yīng)的數(shù)據(jù)均不實(shí)際存儲在數(shù)據(jù)庫中,數(shù)據(jù)庫中只存儲視圖的定義。

1.3.3 條目和屬性

在關(guān)系型數(shù)據(jù)庫中,有屬性(Attribute)的概念,即二維表中的每一列稱為一個屬性,給每一列起一個名稱即屬性名。而在文檔型數(shù)據(jù)庫中,就沒有“屬性”,文檔擁有的是條目(Item),條目是指存儲于文檔中的任意數(shù)據(jù)部分。每一個條目代表文檔中一段數(shù)據(jù),在用戶界面中,是通過表單中的域來顯示文檔中的條目的。二者雖命名不同,但從“屬性”的角度更容易理解文檔型數(shù)據(jù)庫中條目的意義。

2 數(shù)據(jù)轉(zhuǎn)換實(shí)例

2.1 實(shí)現(xiàn)關(guān)系數(shù)據(jù)向文檔數(shù)據(jù)轉(zhuǎn)換的實(shí)例

本文以圖書館設(shè)備管理模塊為例。學(xué)校的設(shè)備管理信息系統(tǒng)采用SQL SERVER 2000數(shù)據(jù)庫,數(shù)據(jù)具有封裝性,各客戶端無權(quán)對SQL SERVER 2000數(shù)據(jù)庫操作,但有一個接口程序,可以將設(shè)備數(shù)據(jù)導(dǎo)出為EXCEL格式,存儲在本地。圖書館對存在本地的EXCEL數(shù)據(jù),進(jìn)行各種預(yù)處理,再導(dǎo)入到圖書館設(shè)備管理模塊的文檔數(shù)據(jù)庫中。具體操作步驟如下:

(1)調(diào)整存儲在本地EXCEL設(shè)備數(shù)據(jù)各列的排序,剔除沒有意義的列。本例中,在EXCEL工作簿中數(shù)據(jù)各列排序如表1(阿拉伯?dāng)?shù)字表示是第幾列):

(2)在辦公自動化系統(tǒng)中,建立欲導(dǎo)入數(shù)據(jù)的“分館驗(yàn)收設(shè)備”視圖,確保此視圖每一列表示的數(shù)據(jù)與EXCEL每一列表示的數(shù)據(jù),意義相同;并且列排序的順序相同。

(3)在對比EXCEL數(shù)據(jù)列排序與辦公自動化設(shè)備管理模塊“分館驗(yàn)收設(shè)備”視圖列排序一致后,刪除EXCEL設(shè)備數(shù)據(jù)列標(biāo)題,并將EXCEL數(shù)據(jù)另存了為WK4(1-2-3)格式。

(4)回到LOTUS瀏覽器客戶端,選擇“文件”菜單,“引入”操作。彈出窗口如圖2:

(5)選擇欲引入數(shù)據(jù)的表單,本例中為“儀器設(shè)備登記卡表單”,并勾選參數(shù)Main Document(要創(chuàng)建答復(fù)文檔則勾選Response Document);View Defined;Calculate fields on form during document import(選擇“文件引入時計(jì)算表單中的域”)。

(6)點(diǎn)擊“OK”按鈕,數(shù)據(jù)自動從EXCEL工作簿導(dǎo)入到DOMINO文檔數(shù)據(jù)庫“分館驗(yàn)收設(shè)備”視圖。

2.2 文檔數(shù)據(jù)庫向關(guān)系數(shù)據(jù)庫轉(zhuǎn)換實(shí)例

文檔數(shù)據(jù)庫擅長于事務(wù)管理,而在報(bào)表分析,數(shù)據(jù)統(tǒng)計(jì)方面相對薄弱,而這恰是EXCEL程序優(yōu)勢,下面將展示將文檔數(shù)據(jù)庫轉(zhuǎn)換為EXCEL數(shù)據(jù)的實(shí)例。本例仍以圖書館設(shè)備管理模塊為例。步驟如下:

(1)在文檔數(shù)據(jù)庫視圖里,勾選要導(dǎo)出為EXCEL數(shù)據(jù)的文檔。

(2)編輯文檔數(shù)據(jù)庫視圖,創(chuàng)建操作按鈕“導(dǎo)出數(shù)據(jù)”,并編寫后端lotus script程序代碼。程序的流程如圖3所示:

(3)在文檔數(shù)據(jù)庫視圖里,單擊操作按鈕“導(dǎo)出數(shù)據(jù)”,程序響應(yīng)對象事件,開啟一個EXCEL工作表窗口。文檔數(shù)據(jù)庫中每一個已勾選的文檔將變?yōu)镋XCEL工作表中的一個行,每一個域?qū)⒆優(yōu)楣ぷ鞅碇械囊粋€列,原始域內(nèi)容變?yōu)閱卧獌?nèi)容,列標(biāo)題變?yōu)楣ぷ鞅碇械臉?biāo)簽。從而實(shí)現(xiàn)文檔數(shù)據(jù)導(dǎo)出到EXCEL程序中,再可以導(dǎo)入到SQL SERVER 2000等關(guān)系型數(shù)據(jù)庫中。

取值賦值,程序循環(huán)嵌套的核心代碼如下:

Do While Not(doc Is Nothing)

′設(shè)定循環(huán)數(shù)為列數(shù)

For x=0 To Ubound(view.columns)

If view.columns(x).IsHidden=False Then

If view.columns(x).title<>″″Then

fieldname=view.columns(x).itemname

Set fitem=doc.getfirstitem(fieldname)

′循環(huán)取文檔條目值,賦值給EXCEL單元格

xlsheet.cells(rows,cols).value=fitem.text

cols=cols+1

End If

End If

Next

rows=rows+1

cols=1

Set doc=dc.getnextdocument(doc)

Loop

3 結(jié) 語

武漢大學(xué)圖書館設(shè)備管理模塊實(shí)行二級賬管理體制。用戶角色為1個總館設(shè)備干事和4個分館、4個院系資料室設(shè)備干事。

前者管理設(shè)備財(cái)產(chǎn)賬(即設(shè)備卡上基本信息的管理),后者管理設(shè)備使用賬(即設(shè)備在圖書館內(nèi)部的調(diào)拔,維修,報(bào)廢等二級賬)。借助本文的數(shù)據(jù)轉(zhuǎn)換實(shí)例,武漢大學(xué)圖書館的一級財(cái)產(chǎn)賬與學(xué)校儀器信息管理系統(tǒng)保持了一致,同時圖書館內(nèi)部又可以從圖書館設(shè)備管理模塊導(dǎo)出數(shù)據(jù),存儲為EXCEL格式,以滿足本地特殊的查詢需求。異構(gòu)數(shù)據(jù)轉(zhuǎn)換為不同的信息管理平臺建立了一個溝通的橋梁。

參考文獻(xiàn)

[1]朱曉燕,黃勇凱.基于Lotus Domino/Notes的圖書館設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書情報(bào)技術(shù),2007,(4):83-86.

[2]王秀英,李平,趙麗華.實(shí)現(xiàn)關(guān)系型與文檔型數(shù)據(jù)間的轉(zhuǎn)換[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,(11):2955-2957.

[3]鄭翔.LotusScript與Formula應(yīng)用手冊[M].北京:機(jī)械工業(yè)出版社,2001:409-437.

[4]查爾斯#8226;菲迪.Domino Developer’s Reference開發(fā)人員手冊[M].北京:希望電子出版社,2000:33-71.

[5]楊應(yīng)全,趙計(jì)梅,陳強(qiáng).圖書館Oracle服務(wù)器與Excel之間數(shù)據(jù)轉(zhuǎn)換應(yīng)用探討[J].現(xiàn)代情報(bào),2008,(5):147-148.

主站蜘蛛池模板: 国产精品毛片一区视频播| 国产精品毛片一区视频播| 91原创视频在线| 夜精品a一区二区三区| 国产在线第二页| 国产交换配偶在线视频| 亚洲天堂色色人体| 天天综合网在线| 久久综合色天堂av| 欧美性爱精品一区二区三区 | 亚洲精品欧美重口| 国产成人三级| 中国精品自拍| 97成人在线观看| 东京热一区二区三区无码视频| 看国产一级毛片| 成人欧美日韩| 国产免费久久精品99re不卡| www.youjizz.com久久| 亚洲AV色香蕉一区二区| 国产精品色婷婷在线观看| 88av在线看| 久久五月视频| 欧美自慰一级看片免费| 国产超碰一区二区三区| 国内丰满少妇猛烈精品播| 日韩一区二区三免费高清 | av大片在线无码免费| 色天堂无毒不卡| 九色视频在线免费观看| 在线永久免费观看的毛片| 国产精品分类视频分类一区| 国产香蕉在线| 国产成人精品无码一区二| 亚洲一级毛片在线观播放| 亚洲天堂福利视频| 亚洲va在线观看| 国产精品30p| 国产一线在线| 婷婷亚洲视频| 经典三级久久| 99精品在线看| 国产交换配偶在线视频| 国产高清在线观看91精品| 日韩国产另类| 91久久偷偷做嫩草影院| 中文字幕欧美日韩高清| 2021精品国产自在现线看| 国产激情无码一区二区三区免费| av色爱 天堂网| 亚洲欧美综合在线观看| 午夜精品区| 呦系列视频一区二区三区| 极品国产在线| 国产高潮流白浆视频| 国国产a国产片免费麻豆| 国模沟沟一区二区三区| 欧美综合成人| 亚洲专区一区二区在线观看| 亚欧成人无码AV在线播放| 亚洲91在线精品| 97se亚洲综合在线天天| 色九九视频| 久久精品国产999大香线焦| 亚洲精品无码人妻无码| 亚洲精品视频免费| 免费a在线观看播放| 精品成人一区二区| 国产99欧美精品久久精品久久| 亚洲无码不卡网| 亚洲性网站| 亚洲国产精品日韩欧美一区| 亚洲精品va| 国产日韩久久久久无码精品| 91娇喘视频| 久久精品国产精品一区二区| 国产成人凹凸视频在线| 久久精品人妻中文系列| 久久精品亚洲热综合一区二区| m男亚洲一区中文字幕| 国产在线精彩视频论坛| 国产成人综合亚洲欧美在|