xml資料庫技術
Ⅰ XML和資料庫的區別
資料庫操作的話,畢竟是比較慢的,相對於xml來說,是有點復雜一些。如果是復雜多的數據的話,你就可以使用資料庫。但如果是很少的數據交互就使用xml
Ⅱ xml資料庫的特點
與傳統資料庫相比,XML資料庫具有以下優勢:
1、XML資料庫能夠對半結構化數據進行有效的存取和管理。如網頁內容就是一種半結構化數據,而傳統的關系資料庫對於類似網頁內容這類半結構化數據無法進行有效的管理。
2、提供對標簽和路徑的操作。傳統資料庫語言允許對數據元素的值進行操作,不能對元素名稱操作,半結構化資料庫提供了對標簽名稱的操作,還包括了對路徑的操作。
3、當數據本身具有層次特徵時,由於XML數據格式能夠清晰表達數據的層次特徵,因此XML資料庫便於對層次化的數據進行操作。XML資料庫適合管理復雜數據結構的數據集,如果己經以XML格式存儲信息,則XML資料庫利於文檔存儲和檢索;可以用方便實用的方式檢索文檔,並能夠提供高質量的全文搜索引擎。另外XML資料庫能夠存儲和查詢異種的文檔結構,提供對異種信息存取的支持。
Ⅲ 什麼是xml資料庫
開始討論XML和資料庫之前,我們先回答許多人都遇到過的問題:「XML是資料庫嗎?」
如果僅按資料庫這個術語的本質來看,XML文件就是資料庫,它是數據的集合。在許多方面看起來它和其他文件沒什麼區別 -- 無論如何,每個文件都含有某種類型的數據。作為一種「資料庫」格式,XML有一些優勢:例如,它是自描述的(所用的標記描述了數據的結構和類型,盡管缺乏語義),可交換的(portable)(Unicode),能夠以樹型或圖形結構描述數據。同樣它也有缺點,例如,它顯得有些繁瑣,由於要對它進行解析和文本轉換,所以數據訪問速度較慢。
一個更有用的問題就是在較為寬松的意義上,XML及其周邊技術是否可以算作「資料庫」 -- 資料庫管理系統(DBMS)。答案是「在某種程度上是(sort of)」。從正面來說,XML提供了許多資料庫所具備的東西:存儲(XML文檔), 模式(DTD, XML schema,RElAX NG 等等), 查詢語言(XQuery, XPath, XQL, XML-QL, QUILT等等),編程介面(SAX, DOM,JDOM)等等。從反面來說,它缺少一些作為實用的資料庫所應具備的特性:高效的存儲,索引,安全,事務和數據一致性,多用戶訪問,觸發器,在查詢多個文件等等。
因此,盡管在數據量小、用戶少和性能要求不太高的環境下,可以將XML文檔用作資料庫,但是卻不適用於用戶量大、數據集成度高以及性能要求高的作業環境。
XML適合於用作所謂「資料庫」的一個好例子就是 .ini文件 -- 它包含應用程序的配置信息。與其寫一個處理以逗號分隔(comma-delimited)的文件的解析器,開發一種小型的XML語言並寫一個解釋它的 SAX程序要容易的多。此外,XML允許使用嵌套的實體,而逗號分隔的文件(comma-delimited files)很難做到這點。然而,說它就是資料庫還很勉強,因為它是線性讀寫的,而且僅用在程序開始和結束時。
比較適合於XML資料庫的一些復雜的數據集就是個人通訊錄(名字,電話號碼,地址等),或用於描述瀏覽器書簽以及用Napster偷來的MP3。然而,由於dBase和Access之類的資料庫物美價廉,即使在這種情況下似乎也沒有多少理由把XML文件作為資料庫使用。XML的唯一真正好處就是數據的可交換性(portable),由於有越來越多的工具可以用來對資料庫進行XML序列化(serializing),這一點好處似乎也要打些折扣。
Ⅳ XML與關系資料庫的關系
資料庫技術及其應用系統經歷了從層次資料庫、網狀資料庫到關系資料庫以及面向對象資料庫的發展,在傳統的商業和事務處理領域內逐步成熟,取代了原有的基於文件系統的數據處理方式,成為計算機信息系統中的重要基礎和支柱。但隨著Internet的飛速發展,Web的出現改變了人們習慣的處理方式,也給資料庫技術提出了必須面對的重要問題:即如何有效地存儲和管理Web上的數據(文檔),使其既能被高效地操作和維護,又能在Internet平台上方便地表示和交換。
XML技術自出現以來發展非常迅速,在許多領域內得到廣泛的支持而有著廣闊的應用前景。例如電子數據交換、電子商務等更是將XML作為一種基礎性、支柱性的技術來看待。
1、資料庫簡史
資料庫系統是隨著計算機技術的不斷發展,在特定的歷史時期、特定的需求環境下出現的。在1946年的第一台計算機到20世紀60年代這漫長的20年裡,計算機操作系統主要局限於文件的操作,對數據的管理也主要是通過文件系統來實現。進行計算所需要的各種數據存放在各自的文件里,使用這些數據時將文件打開,讀取文件中的數據到內存中,當計算完畢後,將計算結果仍舊寫入到文件中去,它的不足主要集中在無法對數據進行有效的統一管理。針對文件系統的重要缺點,人們逐步發展了以統一管理數據和共享數據為主要特徵的系統,即資料庫系統。1964年,美國通用電氣公司開發成功了世界上的第一個資料庫系統IDS(IntegratedDataStore)。IDS奠定了網狀資料庫的基礎,並得到了廣泛的發行和應用,成為資料庫系統發展史上的一座豐碑。1969年,美國國際商用機器公司(IBM)也推出世界上第一個層次資料庫系統IMS(InformationManagement System),同樣在資料庫系統發展史上佔有重要的地位。
70年代初,E.F.Codd在總結前面的層次、網狀資料庫優缺點的基礎上,提出了關系數據模型的概念及關系代數和關系演算。在70年代,關系資料庫系統無論從理論上還是實踐上都取得了豐碩的成果。在理論上確立了完整的關系模型理論、數據依賴理論和關系資料庫的設計理論;在實踐上,世界上出現了很多著名的關系資料庫系統,比較著名的如SystemR、INGRES、Oracle等。
與文件系統相比,資料庫系統有幾個方面的特點:向用戶提供高級的介面;向用戶提供非過程化的資料庫語言(即SQL語言);查詢的處理和優化;並發控制;數據的完整性約束。
進入80年代之後,計算機硬體技術的飛速提高促使計算機應用不斷深入,產生了許多新的應用領域,例如計算機輔助設計、計算機輔助製造、計算機輔助教學、辦公自動化、智能信息處理、決策支持等。這些新的領域對資料庫系統提出了新的要求。但由於應用的多元化,不能設計出一個統一的數據模型來表示這些新型的數據及其相互關系,因而出現了百家爭鳴的局面,產生了演繹資料庫、面向對象資料庫、分布式資料庫、工程資料庫、時態資料庫、模糊資料庫等新型資料庫的研究和應用。
2、XML簡介
XML推薦標准1.0版發布於1998年2月,之後迅速在全球掀起了XML應用的浪潮。XML是一種描述型的標記語言,與HTML同為SGML(標准通用標記語言,ISO-8879國際標准)的一種應用。由於XML在可擴展性、可移植性和結構性等方面的突出優點,它的應用范圍突破了HTML所達到的范圍。
一篇XML文檔由標記和內容組成。XML中有六種標記:元素(elements)、屬性(attributes)、實體引用(entityreferences)、注釋(comments)、處理指令(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 2.0在2000年5月發布,增強了許多功能,包括對名字空間的支持。DOM(Document Object Model)則是在對XML文檔進行分析後,在內存中建立起一個完整的樹結構,然後在此基礎上進行各種操作。簡單地比較來看,SAX對系統資源要求低、速度快,但對文檔的操作是只讀的;DOM的處理能力強大,但要求大量的系統資源,尤其是對於大的文檔。而後還出現了Xpath和Xpointer用以完成XML的搜索和轉換;XSL、XSLT和SOAP用以完成XML的遠程對象訪問,XML Query Languages的出現使XML查詢語言可用於任何XML文檔。
3、XML與資料庫
XML文件是數據的集合,它是自描述的、可交換的,能夠以樹型或圖形結構描述數據。XML提供了許多資料庫所具備的工具:存儲(XML文檔)、模式(DTD,XMLschema,RE1AXNG等)、查詢語言(XQuery,XPath,XQL,XML-QL,QUILT等)、編程介面(SAX,DOM,JDOM)等。但XML並不能完全替代資料庫技術。XML缺少作為實用的資料庫所應具備的特性:高效的存儲、索引和數據修改機制;嚴格的數據安全控制;完整的事務和數據一致性控制;多用戶訪問機制;觸發器、完善的並發控制等。因此,盡管在數據量小、用戶少和性能要求不太高的環境下,可以將XML文檔用作資料庫,但卻不適用於用戶量大、數據集成度高以及性能要求高的作業環境。
隨著Web技術的不斷發展,信息共享和數據交換的范圍不斷擴大,傳統的關系資料庫也面臨著挑戰。資料庫技術的應用是建立在資料庫管理系統基礎上的,各資料庫管理系統之間的異構性及其所依賴操作系統的異構性,嚴重限制了信息共享和數據交換范圍;資料庫技術的語義描述能力差,大多通過技術文檔表示,很難實現數據語義的持久性和傳遞性,而數據交換和信息共享都是基於語義進行的,在異構應用數據交換時,不利於計算機基於語義自動進行正確數據的檢索與應用;資料庫屬於高端應用,需要昂貴的價格和運行環境。而隨著網路和Internet的發展,數據交換的能力已成為新的應用系統的一個重要的要求。XML的好處是數據的可交換性(portable),同時在數據應用方面還具有如下優點:(1)XML文件為純文本文件,不受操作系統、軟體平台的限制;(2)XML具有基於Schema自描述語義的功能,容易描述數據的語義,這種描述能為計算機理解和自動處理;(3)XML不僅可以描述結構化數據,還可有效描述半結構化,甚至非結構化數據。
4、XML文件的存儲
XML文件的存儲方式有三大類:(1)將文件存儲於文件系統(StoringDocumentsinthe File System);(2)將文件存儲於BLOB(Storing Documents in BLOBs),利用資料庫的事務管理、安全、多用戶訪問等優點。此外許多關系資料庫提供的檢索工具可以進行全文檢索、近似檢索、同義詞檢索和模糊檢索。其中某些工具將會支持XML,這樣就可消除將XML文件作為純文本檢索所帶來的問題。(3)將文件存儲於原生XML資料庫(Native XML Databases,NXD)。NXD是專用於存儲XML文件的資料庫,支持事務管理、安全、多用戶訪問、編程API和查詢語言等。與其它資料庫的唯一區別在於其內部模型是基於XML的。其中,最重要的存儲方式當屬原生XML資料庫。
4.1原生XML資料庫
原生XML資料庫(NativeXMLDatabases)為XML文檔定義了一個(邏輯)模型,並根據該模型存取文件。這個模型至少應包括元素、屬性、PCDATA和文件順序。其例子有XPath數據模型、XMLIn-foset以及DOM所用的模型和SAX 1.0的事件。它以XML文件作為其基本存儲單位,對底層的物理存儲模型沒有特殊要求。例如,它可以建在關系型、層次型或面向對象的資料庫之上,或者使用專用的存儲格式,比如索引或壓縮文件。
NXD最適於存儲以文檔為中心的文件。這是由於NXD保留了文件、順序、處理指令、注釋、CDA-TA塊以及實體引用等,而支持XML的資料庫XED(XML-enableddatabase)無法做到。XED是在原有資料庫基礎上擴展了XML支持模塊,完成XML數據和資料庫之間的格式轉換和傳輸。從存儲粒度上,可以把整個XML文檔作為RDBMS表中一行,或把XML文檔進行解析後,存儲到相應的表格中。為了支持W3C的一些XML操作標准,Xpath、XED提供一些新的原語(如Oracle9iR2增加了一些數據包來操作XML數據等),並優化了XML處理模塊.
Ⅳ 推薦一些關於xml資料庫技術相關的書,最好對相關技術,比如查詢及其優化演算法有比較詳細描述的~多謝
計算機技術對電子商務的作用
電子商務是指通過互聯網完成的商務交易。作為依託互聯網發展起來的商業運作模式,與傳統商業比較給人們曾帶來過很多欣喜,但是隨著電子商務交易的不斷發展,暴露出了一些技術問題,如EDI(Electronic Data Interchange)中的問題等,使電子商務一度陷入舉步為艱的地步。
一、EDI在電子商務中的應用
聯合國EDIFACT培訓指南認為:「EDI指的是在最少的人工干預下,在貿易夥伴的計算機應用系統之間的標准格式數據的交換」。 EDI主要由UN/EDIFACT的基礎標准體系和開放式EDI基礎標准兩部分組成。它是EDI的核心標准體系。EDI主要是為完成企業間的數據交換而產生和應用的。雖然EDI的應用使企業之間大大減少了在交易中的時間、效率上的開銷,但是傳統的EDI卻仍然存在不少的缺陷:
1.實現EDI的成本過於昂貴
EDI通信方式有兩種:一種是在貿易夥伴之間建立專用網;另一種是增值網路(VAN)方式,建立專用網的費用是不言而喻的,而VAN是一套私有網路,它的租用、維護費用也是很昂貴的。對於中小型企業來說,這兩種方式的費用都是很難承受的。有數據顯示:全球使用EDI進行電子商務的企業98%來自世界前1000強。這樣也就限制了中小型企業加入到電子商務行列中的步伐,並有礙於電子商務全球化的進程。
2.EDI標准結構的靈活性較差
EDI使用的是一套預先定義好的報文標准,在與其他企業集成時不能隨業務環境的變化而進行自動的調整。這些不利於企業業務的發展。
3.EDI不能通過構建Web Service來跨越多個應用程序和供應商進行通信
在Web Service持續發展的今天,越來越多企業認識到了Web Service的巨大潛力,開始把它運用到他們的組織中,可是原有的EDI技術模式使企業無法利用EDI去實現這一目標。
4.EDI難以實現電子商務中的數據挖掘
EDI主要通過單證傳遞來完成企業之間信息交流,現在的電子商務已經不僅僅是停留在數據的傳遞上,而且要通過Web收集大量的、各種商業數據來進行數據挖掘,從中得到有利於企業戰略決策的信息。
二、XML在電子商務中的應用
1.XML的簡介
XML(eXtensible Markup Language)是W3C於1998年2月發布的一種標准,它是SGML的簡化子集,將SGML的功能和HTML的易用性結合到Web的應用中,以一種開放的自我描述方式定義數據結構,在描述數據內容的同時能突出對結構的描述,從而體現出數據之間的關系。
2.XML的特點
(1)XML成為不同格式數據向標准化格式數據轉換的「橋梁」。由於處於Web中的電子商務,其中涉及的很多數據源都是異構的,XML在各種數據源之間建立了一個數據格式的中間標准,利用XML中的XSLT技術實現了不同格式的數據與XML文檔之間的雙向轉換與傳輸,並方便地進行Web應用。
(2)文檔管理功能。XML中的XLL(eXtensible Linkage Language)技術是表示XML文檔之間的鏈接方法,XLL與HTML中的超鏈接相似,但功能更強,例如可以鏈接文檔的特定部分。此方法使文檔更易於檢索等,也可以使很多公司從海洋一樣的文書工作中解脫出來。
(3)XML可以成為信息存儲和管理的方式。XML可以很輕松地完成與很多類型的企業資料庫的交互操作,例如從SQL查詢中檢索XML數據以及修改XML數據記錄。這就使XML如同傳統的資料庫技術一樣,易於操作。
(4)XML可以完成企業之間業務數據的傳輸。各種業務數據是以XML格式在企業之間傳輸。與EDI相比,不僅可以完成從一種票據格式到另一種票據格式的轉換,還有多種企業需要的基於票據各種操作,而且過程簡單、快捷,成本低廉。
(5)可以完成基於Web的數據挖掘。主要分為數據挖掘和挖掘表示兩個部分。數據挖掘就是利用合適的挖掘演算法和已有的知識庫知識對統一的XML 文檔進行數據提取,可以採用諸如特徵抽取、關聯分析、屬性分類、聚類分析等方法實現。挖掘表示是指對挖掘出的Web 數據經過模式評估和解釋用適當的形式表現出來,例如圖形,以便於用戶理解和使用。
3.XML的缺點
雖然XML很好地解決了EDI技術中的一些缺陷,並且XML已經成為Internet上數據交換事實上的標准。主要基於它的優點:擴展性、自描述性、系統無關性、健壯性、形式與內容分離等。但通過實踐證明,它仍然不能構建Web服務來跨越多個應用程序和供應商進行通信。這也就促成了ebXML的誕生。
EML-EDI在電子商務中的應用:如果基於XML技術的諸多優點,而直接用它來完全替代原來的EDI,顯然會給企業帶來多方面的不利,比如:資金上、技術上等的影響。因此,產生了過度技術模式——XML-EDI。在EML-EDI的模式中,為了保護原有投資,大企業之間依舊採用原有的EDI系統,採用EDI/VAN交換數據。
ebXML在電子商務中的應用:ebXML是由UN/CEFACT和OASIS 兩家組織發起和制定的一個規范集, 這些規范共同實現了模塊化電子商務框架。ebXML的目標是實現跨行業的B2B、B2C商業貿易,甚至全球性的電子商務市場,使得不同規模和不同地區的企業可以通過交換基於XML格式的消息來合作和進行商業活動。
ebXML體系架構由許多部分組成,其主要有:
(1)消息服務:消息組成了商業夥伴間的交易對話,是商務過程的基礎。ebXML可以創建各種類型的消息,對各種消息提供支持,以確保安全可靠的交換有效負載。
(2)注冊庫或知識庫:是ebXML 體系結構的核心,用來注冊和存儲商業流程和商業信息模型等,它使得ebXML工作所需要的各種數據能夠統一存放,以便復用和保持一致性。
(3)貿易夥伴信息:描述貿易夥伴參與貿易活動所必須的信息,也是雙方進行電子商務的技術細節,包含貿易夥伴個人信息CPP 和CPP 基礎上雙方協商出來的CPA。
(4)商務流程規范:ebXML是建立在商務流程建模的基礎上,ebXML規范體系集中包含著定義描述商務流程和信息模型的標准機制BPSS(Business Process Specification Schema),是企業雙方進行電子商務的商業細節。當企業要進行電子商務並決定採用ebXML 框架時,首先通過在注冊庫中查找,找到符合自己條件的商業模型,並下載ebXML的技術規范;然後按照該規范在本地系統上構建ebXML的應用實現,並創建一個合作夥伴概要CPP來描述企業系統的實現細節和提供的功能信息服務,可以加入新的商務流程,也可以只是引用已有的流程,隨後將其注冊到注冊中心。這樣其他採用ebXML標準的企業就可以通過注冊庫查找該企業的CPP,雙方系統在CPP的基礎上自動協商,最終達成CPA等交互協議約定,以後雙方便在此基礎上進行交易。
電子商務經歷了以上三種主要的、一種過度的計算機技術的發展,逐步走向完善。另外,從中我們可以看到,ebXML的開放性以及接納現有標准和方法的做法,使得它很易於被人們接受 ,而且ebXML 允許商家以不同的方式進行商業活動,因此具有更廣泛的市場和應用前景。
參考文獻:
[1]宋沛軍:電子商務概論[M].西安:西安電子科技大學出版社,2005
[2]陳堯妃倪應華:基於XML個性化數據挖掘框架設計[J].現代電子技術,2007 No.2
[3]沈世銘尹紹宏:基於XML在異構數據之間轉換的研究[J].儀器儀表用戶, 2007 No.1
[4]ebXML overview,
[5]郝萍饒若楠:一種基於MDA 的ebXML[J].計算機應用與軟體,2005 No.3
Ⅵ xml資料庫的簡介
目前XML資料庫有三種類型:
(1)XMLEnabledDatabase(XEDB),即能處理XML的資料庫。其特點是在原有的資料庫系統上擴充對XML數據的處理功能,使之能適應XML數據存儲和查詢的需要。一般的做法是在資料庫系統之上增加XML映射層,這可以由資料庫供應商提供,也可以由第三方廠商提供。映射層管理XML數據的存儲和檢索,但原始的XML元數據和結構可能會丟失,而且數據檢索的結果不能保證是原始的XML形式。XEDB的基本存儲單位與具體的實現緊密相關。
(2)NativeXMLDatabase(NXD),即純XML資料庫。其特點是以自然的方式處理XML數據,以XML文檔作為基本的邏輯存儲單位,針對XML的數據存儲和查詢特點專門設計適用的數據模型和處理方法。
(3)HybridXMLDatabase(HXD),即混合XML資料庫。根據應用的需求,可以視其為XEDB或NXD的資料庫,典型的例子是Ozone。
XML資料庫是一個能夠在應用中管理XML數據和文檔的集合的資料庫系統。XML資料庫是XML文檔及其部件的集合,並通過一個具有能力管理和控制這個文檔集合本身及其所表示信息的系統來維護。XML資料庫不僅是結構化數據和半結構化數據的存儲庫,像管理其它數據一樣,持久的XML數據管理包括數據的獨立性、集成性、訪問許可權、視圖、完備性、冗餘性、一致性以及數據恢復等。這些文檔是持久的並且是可以操作的。
當前著重於頁面顯示格式的HTML標記語言和基於它的關鍵詞檢索等技術已經不能滿足用戶日益增長的信息需求。近年來的研究致力於將資料庫技術應用於網上數據的管理和查詢,使查詢可以在更細的粒度上進行,並集成多個數據源的數據。但困難在於網上數據缺乏統一的、固定的模式,數據往往是不規則且經常變動的。因此,XML數據作為一種自描述的半結構化數據為Web的數據管理提供了新的數據模型,如果將XML標記數據放入一定的結構中,對數據的檢索、分析、更新和輸出就能夠在更加容易管理的、系統的和較為熟悉的環境下進行,因而我們將資料庫技術應用於XML數據處理領域,通過XML數據模型與資料庫模型的映射來存儲、提取、綜合和分析XML文檔的內容。這為資料庫研究開拓了一個新的方向,將資料庫技術的研究擴展到對Web數據的管理。