裴 沛
(山西金融職業學院信息技術系,山西 太原 030008)
隨著信息技術的發展,企事業單位的部門組織結構越來越細化和復雜,因此子機構的數據庫資源,如數據信息資源、硬件設備資源和人力資源等也相應不斷產生并且相互獨立地存在著。信息資源的繁雜會造成大量的作廢信息,從而無法確保數據的一致性,影響信息的使用效率。因此,進入信息高速發展的時代,人們對于數據集成的需求也變得越來越迫切,對相關領域系統的研究也是一直以來數據管理研究的熱點。為了解決以上問題,保持數據的完整性和一致性,實現系統間的透明訪問,本文提供了一個解決異構數據集成的總體解決方案,即將數據庫轉換為XML文件,然后對XML文件統一進行操作。
為了各種數據源可以進行透明性地互訪,實現資源和數據的共享,更高效地利用數據資源,數據集成技術應運而生。數據集成可以描述為用戶為了集中實現對各種異構數據的統一表示、存儲和管理等功能,需要將數據資源之間的異構性屏蔽,并應用異構數據集成系統對各種異構數據進行統一的操作和管理。數據集成系統根據企事業單位數據應用上的特點和重點,選擇不同的構造集成系統的方法對數據資源進行應用。通過對不同數據有機地集中,使得集成后的異構數據具有統一性和無差別性。在訪問異構數據源的過程中,數據集成平臺提供了統一接口的功能,使得用戶可以在一個平臺上像操作一個數據源那樣集中操作所有的數據源。可以高效快捷地操作和利用資源。數據集成平臺如圖1:

圖1 數據集成平臺
XML是 W3C(World Wide Web Consortium,互聯網聯合組織)的一個開放標準[1],它是一組規則與準則的集合,以一種開放的、自我描述方式定義數據結構。XML采用的是文本的無格式化來存儲和描述結構化數據,它所關心的主要是數據,因此它具有良好的開放性、可擴展性、自描述性、高度結構化、便于網絡傳輸等特性。我們可通過把其他的數據結構和數據類型轉換成XML文檔,在互聯網和企業內部的不同應用程序間方便地提交數據、處理數據,完成數據的交換[2]。XQuery的產生源于 Quitl,在借鑒了眾多其他查詢語言的優點上,結合了多種表達式,來適應數據和文檔的層次化結構,為重構數據提供統一的模板。并將Xpath2.0納入其中作為子集。因而可以更好的滿足數據庫和文檔的兩方面要求[3]。XQuery對于XML而言就像SQL對數據庫一樣。正如SQL對于關系型數據庫一樣,XQuery將成為對所有類型的XML數據通用的、獨立于系統的標準。
本系統采用Eclipse開發平臺進行開發。運用Java語言實現至少三種數據庫向XML進行轉換。并對轉換之后的XML文件進行操作,實現對XML文件進行增刪改查的功能。
要實現數據集成,要求本系統可以對數據進行統一的處理,屏蔽數據的異構性,保證數據的完整性并約束其完整性[4],以及解決數據信息之間的語義沖突等等這些相互聯系、相互制約的問題[5]。
本系統主要由數據庫向XML轉換模塊、XQuery語言對XML文件進行操作模塊和可視化操作XML文件模塊組成。本系統最主要的功能包含兩個部分:其中一個是將數據庫轉換為XML文件模塊,另一個是對XML文件進行操作模塊。系統模塊設計如圖2:

圖2 系統設計的模塊圖
為了實現數據庫集成,需要實現將各種類型的數據庫轉換為XML文件,然后對XML文件進行統一操作,這樣就需要實現將數據庫向XML轉換。
2.2.1 數據庫向XML的轉換
數據庫向XML轉換的方法是:首先查詢出數據庫中所有的數據,然后確定哪些是XML文件的節點,哪些是XML文件的屬性。最后采用crimson.jar這個jar包里提供的方法對XML文件進行寫入操作,完成數據庫向XML轉換的功能。
此模塊的部分實現代碼如下:



3.2.2 對XML文件操作模塊詳細設計
本系統對XML的操作采用的是目前比較流行的語言XQuery語言對XML文件進行操作。
此模塊的部分實現代碼如下:

同時,為了解決大部分用戶對XQuery的不熟悉問題,本系統還提供了可視化地圖形界面操作的功能。使得本系統的功能更加強大,解決了大部分用戶所面臨的問題。
此模塊的部分實現代碼如下:

此系統界面主要由標題欄、菜單欄、工具欄、工作區、控制欄、控制臺、狀態欄組成。其其系統界面如圖3所示。

圖3 系統界面
3.2.1 數據庫向XML轉換模塊實現
此模塊完成的功能是將不同數據轉換為XML格式的文檔。實現方法是:根據用戶選擇的數據庫類型,用戶輸入的數據庫名和表名對數據庫進行查詢操作,查詢數據庫中所有字段的數據。然后根據用戶輸入的各個字段的名稱使用DOM解析的方式將數據庫表轉換為對應的XML文件。根據這些需求設計了此模塊的界面如圖4所示。

圖4 數據庫轉換為XML文件界面
3.2.2 XQuery查詢語言操作XML文件模塊實現
此模塊主要實現的功能是在工作區輸入要執行的XQuery語句,點擊執行按鈕,執行當前輸入的語句。例如,輸入的語句和執行結果界面如圖5所示:

圖5 XQuery查詢語言操作XML文件界面
4.2.3 可視化操作XML文件模塊實現
鑒于大多數人沒有學習過XQuery語言,為了解決這一問題,特為此系統加入了可視化操作模塊。這樣用戶就可以可視化地操作XML文件了。此模塊主要實現了新建數據庫、新建XML、設計XML、編輯XML、返回XML等這些可視化操作的功能。實現界面如圖6所示。
本文通過對可擴展的標記語言XML的研究,并結合相關技術開發了一個簡單的基于XML異構數據集成系統。考慮到了大部分用戶對XQuery語言的不熟悉問題,對這一問題特別的進行了部分可視化開發。本系統重點解決了將各種類型的數據庫轉換為XML文件,然后對XML文件進行統一操作,基本上實現了本課題需要完成的功能。而在未來的數據庫領域,集成將會是各個數據庫系統需要實現的目標。因此本系統在安全性、數據壓縮、備份壓縮等多個方面還需要進一步地完善和改進。

圖6 可視化操作XML文件界面
[1]黃水源,羅勝,段隆振等.利用XML技術實現異構數據庫之間的數據轉換[J].南昌大學學報,2005,2(7):68.
[2]方翔.XML文檔到關系數據庫的轉換[J].西安交通大學報,2001,8(4):123 -243.
[3]陳錦輝,王景皓.XML與JAVA程序設計[M].北京:中國鐵道出版社,2002:109.
[4]孟小峰.XML數據管理概念與技術[M].北京:清華大學出版社,2009:295 -297.
[5]Mark Birbeck.XML高級編程[M].北京:機械工業出版社,2002.109 -112.