當前位置:編程學習大全網 - 編程語言 - XML技術與數據庫的發展趨勢分析

XML技術與數據庫的發展趨勢分析

 數據庫技術及其應用系統經歷了從層次數據庫 網狀數據庫到關系數據庫以及面向對象數據庫的發展 在傳統的商業和事務處理領域內逐步成熟 取代了原有的基於文件系統的數據處理方式 成為計算機信息系統中的重要基礎和支柱 但隨著Internet的飛速發展 Web的出現改變了人們習慣的處理方式 也給數據庫技術提出了必須面對的重要問題 即如何有效地存儲和管理Web上的數據(文檔) 使其既能被高效地操作和維護 又能在Internet平臺上方便地表示和交換

 XML技術自出現以來發展非常迅速 在許多領域內得到廣泛的支持而有著廣闊的應用前景 例如電子數據交換 電子商務等更是將XML作為壹種基礎性 支柱性的技術來看待

  數據庫簡史

 數據庫系統是隨著計算機技術的不斷發展 在特定的歷史時期 特定的需求環境下出現的 在 年的第壹臺計算機到 世紀 年代這漫長的 年裏 計算機操作系統主要局限於文件的操作 對數據的管理也主要是通過文件系統來實現 進行計算所需要的各種數據存放在各自的文件裏 使用這些數據時將文件打開 讀取文件中的數據到內存中 當計算完畢後 將計算結果仍舊寫入到文件中去 它的不足主要集中在無法對數據進行有效的統壹管理 針對文件系統的重要缺點 人們逐步發展了以統壹管理數據和***享數據為主要特征的系統 即數據庫系統 年 美國通用電氣公司開發成功了世界上的第壹個數據庫系統IDS(IntegratedDataStore) IDS奠定了網狀數據庫的基礎 並得到了廣泛的發行和應用 成為數據庫系統發展史上的壹座豐碑 年 美國國際商用機器公司(IBM)也推出世界上第壹個層次數據庫系統IMS(InformationManagement System) 同樣在數據庫系統發展史上占有重要的地位

  年代初 E F Codd在總結前面的層次 網狀數據庫優缺點的基礎上 提出了關系數據模型的概念及關系代數和關系演算 在 年代 關系數據庫系統無論從理論上還是實踐上都取得了豐碩的成果 在理論上確立了完整的關系模型理論 數據依賴理論和關系數據庫的設計理論 在實踐上 世界上出現了很多著名的關系數據庫系統 比較著名的如SystemR INGRES Oracle等

 與文件系統相比 數據庫系統有幾個方面的特點 向用戶提供高級的接口 向用戶提供非過程化的數據庫語言(即SQL語言) 查詢的處理和優化 並發控制 數據的完整性約束

 進入 年代之後 計算機硬件技術的飛速提高促使計算機應用不斷深入 產生了許多新的應用領域 例如計算機輔助設計 計算機輔助制造 計算機輔助教學 辦公自動化 智能信息處理 決策支持等 這些新的領域對數據庫系統提出了新的要求 但由於應用的多元化 不能設計出壹個統壹的數據模型來表示這些新型的數據及其相互關系 因而出現了百家爭鳴的局面 產生了演繹數據庫 面向對象數據庫 分布式數據庫 工程數據庫 時態數據庫 模糊數據庫等新型數據庫的研究和應用

  XML簡介

 XML推薦標準 版發布於 年 月 之後迅速在全球掀起了XML應用的浪潮 XML是壹種描述型的標記語言 與HTML同為SGML(標準通用標記語言 ISO 國際標準)的壹種應用 由於XML在可擴展性 可移植性和結構性等方面的突出優點 它的應用範圍突破了HTML所達到的範圍

 壹篇XML文檔由標記和內容組成 XML中有六種標記 元素(elements) 屬性(attributes) 實體引用(entityreferences) 註釋(ments) 處理指令(processinginstructions)和CDATA段(CDATAsections) XML與HTML最顯著的不同是XML文檔中引入了 文檔類型聲明 (Document Type Declarations) DTD使文檔可以與分析器交流關於它的內容的元信息 DTD的出現 賦予了XML文檔可擴展性 結構性和可驗證性 使XML具備了類似於數據庫的壹些性質 可以利用XML來組織和管理信息 又可以與HTML壹樣在瀏覽器中方便地表示 在Internet上高效地傳遞和交換 考慮到與HTML的兼容 DTD並不是XML文檔必需的成份 具有DTD的XML文檔稱作 Valid 否則就是 Well formed

 目前 處理XML文檔的方式主要有SAX與DOM兩種 SAX(SimpleAPIforXML)是壹種基於流的 以事件處理方式工作的接口 SAX 在 年 月發布 增強了許多功能 包括對名字空間的支持 DOM(Document Object Model)則是在對XML文檔進行分析後 在內存中建立起壹個完整的樹結構 然後在此基礎上進行各種操作 簡單地比較來看 SAX對系統資源要求低 速度快 但對文檔的操作是只讀的 DOM的處理能力強大 但要求大量的系統資源 尤其是對於大的文檔 而後還出現了Xpath和Xpointer用以完成XML的搜索和轉換 XSL XSLT和SOAP用以完成XML的遠程對象訪問 XML Query Languages的出現使XML查詢語言可用於任何XML文檔

  XML與數據庫

 XML文件是數據的集合 它是自描述的 可交換的 能夠以樹型或圖形結構描述數據 XML提供了許多數據庫所具備的工具 存儲(XML文檔) 模式(DTD XMLschema RE AXNG等) 查詢語言(XQuery XPath XQL XML QL QUILT等) 編程接口(SAX DOM JDOM)等 但XML並不能完全替代數據庫技術 XML缺少作為實用的數據庫所應具備的特性 高效的存儲 索引和數據修改機制 嚴格的數據安全控制 完整的事務和數據壹致性控制 多用戶訪問機制 觸發器 完善的並發控制等 因此 盡管在數據量小 用戶少和性能要求不太高的環境下 可以將XML文檔用作數據庫 但卻不適用於用戶量大 數據集成度高以及性能要求高的作業環境

 隨著Web技術的不斷發展 信息***享和數據交換的範圍不斷擴大 傳統的關系數據庫也面臨著挑戰 數據庫技術的應用是建立在數據庫管理系統基礎上的 各數據庫管理系統之間的異構性及其所依賴操作系統的異構性 嚴重限制了信息***享和數據交換範圍 數據庫技術的語義描述能力差 大多通過技術文檔表示 很難實現數據語義的持久性和傳遞性 而數據交換和信息***享都是基於語義進行的 在異構應用數據交換時 不利於計算機基於語義自動進行正確數據的檢索與應用 數據庫屬於高端應用 需要昂貴的價格和運行環境 而隨著網絡和Internet的發展 數據交換的能力已成為新的應用系統的壹個重要的要求 XML的好處是數據的可交換性(portable) 同時在數據應用方面還具有如下優點 ( )XML文件為純文本文件 不受操作系統 軟件平臺的限制 ( )XML具有基於Schema自描述語義的功能 容易描述數據的語義 這種描述能為計算機理解和自動處理 ( )XML不僅可以描述結構化數據 還可有效描述半結構化 甚至非結構化數據

  XML文件的存儲

 XML文件的存儲方式有三大類 ( )將文件存儲於文件系統(StoringDocumentsinthe File System) ( )將文件存儲於BLOB(Storing Documents in BLOBs) 利用數據庫的事務管理 安全 多用戶訪問等優點 此外許多關系數據庫提供的檢索工具可以進行全文檢索 近似檢索 同義詞檢索和模糊檢索 其中某些工具將會支持XML 這樣就可消除將XML文件作為純文本檢索所帶來的問題 ( )將文件存儲於原生XML數據庫(Native XML Databases NXD) NXD是專用於存儲XML文件的數據庫 支持事務管理 安全 多用戶訪問 編程API和查詢語言等 與其它數據庫的唯壹區別在於其內部模型是基於XML的 其中 最重要的存儲方式當屬原生XML數據庫

  原生XML數據庫

 原生XML數據庫(NativeXMLDatabases)為XML文檔定義了壹個(邏輯)模型 並根據該模型存取文件 這個模型至少應包括元素 屬性 PCDATA和文件順序 其例子有XPath數據模型 XMLIn foset以及DOM所用的模型和SAX 的事件 它以XML文件作為其基本存儲單位 對底層的物理存儲模型沒有特殊要求 例如 它可以建在關系型 層次型或面向對象的數據庫之上 或者使用專用的存儲格式 比如索引或壓縮文件

 NXD最適於存儲以文檔為中心的文件 這是由於NXD保留了文件 順序 處理指令 註釋 CDA TA塊以及實體引用等 而支持XML的數據庫XED(XML enableddatabase)無法做到 XED是在原有數據庫基礎上擴展了XML支持模塊 完成XML數據和數據庫之間的格式轉換和傳輸 從存儲粒度上 可以把整個XML文檔作為RDBMS表中壹行 或把XML文檔進行解析後 存儲到相應的表格中 為了支持W C的壹些XML操作標準 Xpath XED提供壹些新的原語(如Oracle iR 增加了壹些數據包來操作XML數據等) 並優化了XML處理模塊

 NXD壹般采用層次數據存儲模型 保持XML文檔的樹形結構 省掉了XML文檔和傳統數據庫的數據轉換過程 NXD還適用於存儲 天然格式 為XML的文件 NXD還可以存儲半結構化數據 在某種特定情形下提高存取速度以及存儲沒有DTD的文件(良構的文件)

  原生XML數據庫的結構

 原生XML數據庫的結構可分為兩大類 基於文本的和基於模型的

 基於文本的NXD(Text BasedNativeXMLDatabases)將XML作為文本存儲 它可以是文件系統中的文件 關系數據庫中的BLOB或特定的文件格式 基於文本的NXD與層次結構的數據庫很相似 當存取預先定義好層次的數據時 它比關系數據庫更勝壹籌 和層次結構的數據庫壹樣 當以其它形式比如轉置層次存取數據時 NXD也會遇到麻煩 這個問題的嚴重程度尚未可知 很多關系數據庫都使用邏輯指針 使相同復雜度的查詢以相同的速度完成

 基於模型的NXD(Model BasedNativeXMLDatabases)是根據文件構造壹個內部模型並存儲這個模型 有些數據庫將該模型存儲於關系型和面向對象的數據庫中 例如在關系型數據庫中存儲DOM時 就會有元素 屬性 PCDATA 實體 實體引用等表格 其他數據庫使用了專為這種模型優化了的存儲格式 使用專用存儲格式的基於模型的NXD如果以文件的存儲順序讀取文件 其性能與基於文本的NXD相似

  原生XML數據庫的特性

 原生XML數據庫的特性(FeaturesofNativeXML Databases)有 ( )文件集(Document Collections) 支持集合(Collection)的概念 其作用相當於關系數據庫中的表和文件系統中的文件夾 ( )查詢語言(Query Languages) 最常用的有XPath(對多個文件的查詢作了擴充)和XQL 以及專有的查詢語言 ( )更新和刪除(Updates and Deletes) NXD對文件的更新和刪除方式從簡單的替換或刪除現有文件 到修改當前活動的DOM樹 以及用於指定如何修改文件片斷的語言 ( )事務 鎖定和並發(Transactions Locking and Concurrency) 支持事務處理 鎖定通常是對整個文檔的 所以多用戶並發性相對較低 問題的大小取決於應用程序以及 文件 的構成 ( )原生數據庫提供應用程序接口API(Application Programming Interfaces APIs) ( )NXD的壹個重要特性是它可以為XML文檔提供 往返車票(round trip) 可以將XML文件存放在NXD中 而且再取回 同樣的 文件 對於以文檔為中心的應用程序來說非常重要 因為CDATA部分 實體用法 註釋和處理指令是這些文檔不可缺少的組成部分 特別是對於法律和醫學文件 按規定這些文檔必須要保持原樣 ( )外部數據(Remote Data) 某些NXD可包含有外部數據 它來自存儲在數據庫中的文檔 通常這些數據通過OD BC OLE DB或JDBC從關系數據中取出 模型可以是基於表格的或對象 關系型映射 ( )支持元素和屬性的索引

  結論

 XML技術的出現 使數據處理從文件方式到數據庫系統再到文件方式的循環 但新的文件方式已經與最初的文件系統有了本質的區別 格式化文檔 XML和關系數據庫在數據應用和數據管理方面各有優勢

lishixinzhi/Article/program/net/201311/12776

  • 上一篇:如何制作手機系統
  • 下一篇:open ai會取代編程員嗎?
  • copyright 2024編程學習大全網