1.什么是XML數據庫? XML數據庫是可以對XML文檔進行存取管理和數據查詢的數據庫。 2.XML數據庫有幾種類型? 目前XML數據庫主要有兩種類型:XML本源數據庫(NXD ,Native XML Database)、支持XML的數據庫(XEDB ,XML-enable database)。 3.什么是XML本源數據庫(NXD)? NXD是專門對 XML 數據格式的文檔進行存取管理和數據查詢的數據庫。 4.主流的XML本源數據庫(NXD)產品有哪些? 目前截止2002年6月,正式公布的NXD產品有28種,其功能各具特色。在支持對XML文檔管理的同時,不同程度的增加了一些附加功能。比較著名的產品有Tamino、 dbXML、eXcelon和 XHive/DB,分別由美國的Software AG公司、dbXML Group LLC公司、 eXcelon公司和荷蘭的The Connection Factory公司研制。 比如,Tamino 是第一個商用native-XML數據庫,其最新版為2.3.1(2002-5), 系統除了具有NXL的基本功能外,還提供與其它數據源的調用接口,可以對關系型收據進行存儲管理。其管理界面是基于Web的,與主流的關系數據庫管理系統相似,包括與數據庫交互和對數據模板(editting schemas)進行編輯的 GUI工具.其查詢語言是基于Xpath,有直接XML檢索和特殊檢索的能力,可實現對任意數據元的檢索,其功能在某些方面甚至超過傳統SQL(根據Gartner Group的研究報告)。Tamina有Windows NT、Windows 2000、Solaris和SCO Unix等版本。 Tamino適用于需要從多種不同平臺和格式整合信息并向業務伙伴或客戶散發這些信息的機構。 5.什么是支持XML的數據庫(XEDB )?其主要用途是什么? XEDB是在傳統數據庫的基礎上,通過增加對XML數據的管理功能,從而實現對XML數據的管理的數據庫。 XEDB的主要用途是實現數據關系不太復雜的XML文檔與傳統數據庫之間的轉換。 6.XEDB產品有哪些? 目前已經知道的XEDB產品有Access 2002 、SQL Server 2000、IBM的DB2 XML Extender,、FileMaker、 FoxPro、 Informix 、Objectivity/DB 、Oracle 8i, 9i。 7.XML數據庫由哪幾部分組成? XML本身是不是數據庫,XML僅僅意味著XML文檔。當XML文件被用于數據存儲管理時, XML和它相關的技術結合就組成一個數據庫管理系統,目前XML數據庫系統主要以下由四部分組成: DTD或者Schemas是XML數據庫數據模型,對XML數據庫內容的存儲了訪問都依據該模型。在模型中規定了元素(elements)、屬性(attributes)、PCDATA以及文檔內容的順序。 XML文檔是XML數據庫的數據區,一個XML文檔就是一個基本的存儲單元,相當于關系數據庫中的一個表格。 XQuery, XPath, XQL, XML-QL, QUILT是數據庫查詢語言。 SAX、JDOM、DOM是數據庫處理工具。提供對XML數據庫的編輯、管理功能,以及與其它語言的編程接口。 8.DTD與scheme有何不同? DTD主要用來指定文件的結構,是一套關于在XML文檔中使用的標記符的語法規則。 它告訴你可以在文檔中使用哪些標記符, 它們應該按什么次序出現, 哪些標記符可以出現于其它標記符中, 哪些標記符有屬性等。 它可以是XML文檔的一部分, 但是它通常是一份單獨的文檔或者一系列文檔 。XML本身并沒有一個通用的DTD,想使用XML進行數據交換的行業或組織可以定義它們自己的DTD。 XML Schema是W3C推薦的用來規定XML文檔結構的標準。它比DTD更加嚴格規范。 目前大量使用的是DTD,未來XML Schema有可能取而代之。 9.Xquery與 Xpath有何區別? Xquery與 Xpath,XQL, XML-QL, QUILT都是XML數據庫的查詢語言。 Xquery是W3C推薦的XML數據庫的查詢語言標準。 XPath 是在 XML 文檔內描述節點路徑的通用規范。XPath 規范是 XSLT 的組成部分,用來幫助XSLT在XML源文檔中查找定位信息的語言。在實際使用過程中,XPath和XSLT總是混在一起使用,在目前的大多數XML數據庫中都采用它實現數據查詢。 10.什么是以數據為中心的文檔? 這種文檔內容有非常規則的結構,元素排列順序遵從一定的規則。數據為中心的文檔主要用于數據存儲或交換,便于機器理解和處理。比如企業的銷售訂單、醫院病人檔案、科學實驗的記錄等。 如果要處理的文擋是以數據為中心時,通常使用XEDB。 11.什么是以文檔為中心的文檔? 這種文檔內部數據結構不規則、內容是混合的,其內部包含的信息自身的物理結構很重要。而且數據的粒度也比較大。以文檔為中心的文檔主要是用人類而設計的。是典型的半結構化的文檔具有不規則的內容,如書本、電子郵件、廣告等等。 如果要處理的文擋是以文擋為中心時,通常就使用NXD。 12.如果需要處理的文檔數據即有以文檔為中心的特征,又有以數據為中心的特征時,應當選擇何種類型的XML數據庫? 應當選擇NXD。 13.XML數據庫內容與傳統數據庫內容能夠互相轉換嗎? 當數據結構不復雜時,使用XEDB或者中間件(middleware)可以實現XML文檔與關系數據庫或者面向對象數據庫之間的轉換。 當數據結構關系復雜時,它們之間的轉換效果不好。 另外有些XML數據無法轉換成傳統數據庫格式,反之亦然。 14.XML:DB是干什么的? XML:DB是一個致力于關于XML數據庫標準化的國際組織,其主要工作是提供XML數據庫開發規范,推廣XML數據庫產品。 15.什么是半結構化數據? 半結構化數據是指數據集合中既含有結構規則的數據,也包括不規則數據。如人的基本情況就是一種半結構化數據,其中姓名、出生日期、籍貫、學歷等信息可以用固定的格式描述,是結構化的,而各人的簡歷內容各不相同,無法用固定的格式描述。 16.XML數據庫與傳統數據庫相比有哪些不同和優勢? 與傳統數據庫相比XML數據庫具有以下特點: (1)XML數據庫能夠對半結構化數據進行有效的存取和管理。如網頁內容就是一種半結構化數據,而傳統的關系數據庫對于類似網頁內容這類半結構化數據無法進行有效的管理。 (2)提供對標簽和路徑的操作。傳統數據庫語言允許對數據元素的值進行操作,不能對元素名稱操作,半結構化數據庫提供了對標簽名稱的操作,還包括了對路徑的操作。 (3)當數據本身具有層次特征時,由于XML數據格式能夠清晰表達數據的層次特征,因此XML數據庫便于對層次化的數據進行操作。 (4)順序性(sequence):以文檔為中心XML的文檔與傳統的數據表不同,其內容是有順序的,順序性使得查詢、特別是連接和修改更加復雜。而在傳統的數據表中,表項(field)之間的順序是可以互換的。 基于上述特征,XML數據庫適合管理復雜數據結構的數據集,如果已經以XML 格式存儲信息,則XML數據庫利于文檔存儲和檢索 ;可以用方便實用的方式檢索文檔,并能夠提供高質量的全文搜索引擎。特別適合對半結構化數據的管理。另外XML數據庫能夠存儲和查詢異種的文檔結構,提供對異種信息存取的支持。 17.在什么情況下需要使用XML數據庫? XML數據庫的主要用途可以概括為兩方面:對基于XML的數據進行有效的管理、對基于Web的各種數據源進行集成。如果建立的數據庫是基于Web的,同時管理的信息具有半結構化特征,那么最好使用XML數據庫。 18.目前XML數據庫主要存在哪些問題? 目前XML數據庫在有效的存儲組織、合理索引結構、數據庫系統的安全性、事務處理、數據完整性、觸發器、多用戶處理機、數據的聚合能力等方面還有待提高。另外,標準眾多,缺乏統一的數據庫開發標準。不同數據庫產品之間的兼容性值得懷疑。 |
|