[摘要] 本文提出用XML進行數據轉換以實現異構數據庫的數據共享,從而實現了信息的標準化,有效地解決了以往集成系統信息不能用一種標準化的形式顯示這一問題。
[關鍵詞] 異構; 共享; 數據轉換
[中圖分類號] TP392 [文獻標識碼] A [文章編號] 1673 - 0194(2013)04- 0081- 01
異構數據庫系統由相關的多個不同數據庫組成,可以實現數據的共享和透明的訪問,每個數據庫系統都是獨立存在的,并且具有數據庫管理系統。異構數據庫的各個組成部分具有自身的自治性,在實現數據共享的同時,每個數據庫系統仍保持自己的應用特性、完整性控制和安全性控制。異構數據庫系統的目標在于實現不同數據庫之間的合并和共享。
1 異構數據庫系統
異構數據庫系統的目標在于實現不同數據庫之間的數據信息資源、硬件設備資源和人力資源的合并與共享。集成的關鍵技術是以每個局部數據庫模式為基礎,建立全局的數據模式或全局視圖。
2 異構數據庫數據共享
由于異構數據庫之間存在各種語義和語法上的沖突,要實現異構數據庫中數據嚴格的等價轉換比較困難。異構數據的轉換目標是能夠將源數據庫中全部有意義的信息都轉換到目標數據庫中,而且這種轉換包含盡量少的冗余信息。目前主要有如下幾種數據轉換方式。
2.1 使用軟件工具進行轉換
使用數據庫管理系統的數據導入工具,將各個異構數據中的數據以文件的形勢導入集成的數據庫表中。如Power Builder的數據管道Data Pipeline、SQL Server的DTS、Oracle的SQL* Loader等可以實現各種異構數據庫系統和文本、電子表格等文件系統格式的數據的整合和集成。編寫每個分系統的數據轉換代碼,以完成原始數據轉換、錯誤數據清理、數據結構轉換、冗余信息消除、數據存儲和數據刷新功能。
數據轉換工具的缺點是不具有獨立性,必須先運行該數據庫產品的前端應用程序才能使用相應的數據轉換工具,轉換步驟繁瑣,人工干預過多。此類工具一般都是各數據庫的專用工具,與自身數據庫的結合非常緊密。如果集成后的數據庫不是數據轉換工具所對應的數據庫,數據轉換工具就不能使用,只能用于集成具有同種類型DBMS的異構數據庫。
2.2 利用第三方數據庫的轉換
利用第三方數據庫轉換,在進行大型數據庫轉換時,具有數據量龐大的特點。如果缺少工具軟件的支持,就必須借助其他較小的桌面數據庫如Access、Excel等。在實現兩個具體數據庫之間的轉換時,根據字段定義、表定義和關系定義,從原始數據庫中讀出數據通過中間數據庫的轉換在導入到目的數據庫中。
這種利用中間數據庫的轉換辦法具有所需轉換模塊少和擴展性強的優點,缺點是需要人工撰寫很多SQL語句以實現轉換,實現過程相對復雜,轉換質量不高,而且轉換過程較長。
2.3 設置傳遞變量的轉換
使用數據庫應用程序開發工具與數據庫連接的功能,通過設置兩個不同源數據庫與目的數據庫的傳送變量,實現兩個數據庫的連接和異構數據庫之間的直接轉換。這種辦法在現有的數據庫系統下擴展相對容易,而且轉換速度和質量相對較高,但缺點是通用性較差。
2.4 通過數據庫組件的轉換
利用數據庫應用程序開發技術,在配置ODBC的基礎上直接利用其自帶的數據工具來完成數據轉換。源數據庫與目的數據庫通過ODBC組件來存取數據,實現異構數據庫之間的直接轉換。通過組件存取數據的關鍵是信息的數據類型問題,如果源數據庫與目的數據庫對應的數據類型定義不相同,必須先進行數據類型的等價轉化再進行數據轉換,而完全的等價轉換難度較大。
2.5 利用XML實現轉換
XML具有平臺性無關、可擴展性和互操作性,具有數據語義描述和傳送能力,是理想的數據源交互媒介。XML的靈活性和可擴展性使其可以對不同應用甚至差異很大的應用間的數據進行描述,尤其是對于那些專用于記錄數據的應用。另外,XML具有自我描述性的特性,使數據可以在不同的應用間進行交換和處理,而不必要求相應的應用程序是針對該數據定制的。
XML可實現基于Web瀏覽的多樣式可視化顯示,而中間轉換處理程序則用來訪問數據庫管理系統中的數據和輸出XML文檔。為了在數據庫和XML文檔之間傳遞數據,必須在文檔結構和數據庫結構之間建立映射。中間轉換處理程序功能實現的關鍵就是完成映射的建立。
基于XML的異構數據庫集成的關鍵是建立數據公共映射模型以實現數據庫模式和XML模式之間的映射關系,將關系模型映射到該公共數據模型,再將公共模型映射回關系模型。該模型必須滿足條件:
(1) 模型應盡可能的簡單,易于操縱,易于與數據庫模型相互轉換。
(2) 模型應具有良好的描述性,能夠完整的描述數據模型,具有良好的可擴展性。
(3) 模型實現數據結構和數據操作的映射外,還具有數據庫完整性約束,以避免參照完整性不足帶來的插入和刪除異常。
3 結 語
異構數據庫所涉及的數據形式主要有結構化數據、半結構化數據和非結構化數據3種類型。結構化數據廣泛存在于各種信息系統的數據庫中,以關系數據庫最為普遍。半結構化數據通常以Web頁面為主要代表,非結構化數據如普通文件、電子郵件和各種文檔等,XML可以有效地進行管理與處理這兩種數據。利用XML實現數據轉換以實現異構數據庫的數據共享是一種比較理想的方案,該方案的關鍵是建立相應的映射模型。