基于XML的數(shù)據(jù)庫系統(tǒng)研究.docx_第1頁
基于XML的數(shù)據(jù)庫系統(tǒng)研究.docx_第2頁
基于XML的數(shù)據(jù)庫系統(tǒng)研究.docx_第3頁
基于XML的數(shù)據(jù)庫系統(tǒng)研究.docx_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

文章編號: 1006- 1576( 2003) 02- 0037- 03基于 XML 的數(shù)據(jù)庫系統(tǒng)研究陳寒江,吳相林(華中科技大學 系統(tǒng)工程研究所,湖北 武漢 430074 )摘要:XML 是標準通用標記語言( SGML)的子集,又稱元語言。利用其基本規(guī)則可創(chuàng)建針對特定領(lǐng)域 的標記語言。XML 允許用戶界面和結(jié)構(gòu)化數(shù)據(jù)相分離,具有不同來源的數(shù)據(jù)無縫集成等優(yōu)點。 在比較 XML 數(shù)據(jù)模型和傳統(tǒng)數(shù)據(jù)庫模型優(yōu)缺點的基礎上,根據(jù)文件類型定義(DTD),提出了關(guān)系數(shù)據(jù)庫與 XML 結(jié)合, 組成 XML 數(shù)據(jù)庫系統(tǒng)的方法。 它采用關(guān)系數(shù)據(jù)庫反映數(shù)據(jù)集根節(jié)點的子節(jié)點,組織根節(jié)點的各子樹內(nèi)容, 形成數(shù)據(jù)對象,建立元數(shù)據(jù)庫和對象數(shù)據(jù)庫?;?XML 的數(shù)據(jù)庫系統(tǒng)以 XML 標記數(shù)據(jù),解決了數(shù)據(jù)間的復 雜關(guān)系。以數(shù)據(jù)庫而不是文件倉儲組織數(shù)據(jù),有利于管理和維護。關(guān)鍵詞:XML;數(shù)據(jù)庫;通用標記語言;文件類型定義 中圖分類號:TP311.132.3文獻標識碼:AResearch on Database System Based on XMLCHEN Han-jiang , WU Xiang-lin(Institute of Systems Engineering, Huazhong University of Science and Technology, Wuhan 430074, China)Abstract: XML is a subset of SGML, and also called meta language. The mark language can be establish using its basal rule aiming at some special fields. XML permit separation of user interface and structural data, and has the advantage that XML can seamlessly integrate data from different sources. Based on the comparing XML data model and conventional database model, and according to DTD, a method of establishing XML database system that combine conventional relative-database with XML was presented. In this method, the descendant node under the root node of the reflecting dataset in relative-database was used to organize the contents of the descendant tree under the root node, to form data objects and establish meta database and object database. In database system based on XML, use XML to mark data, so the complex relationship of data was solved. Using database but not documental storage profits management and maintenance.Key words: XML; Database; SGML; DTD (Document type definition)1XML 簡介HTML 語言的簡單和普遍性使 Web 的應用 日益普及,但當人們認識了互聯(lián)網(wǎng)的價值,準備 將 Web 應用到電子商務、 EDI 等全新領(lǐng)域時, 卻發(fā)現(xiàn)正是這些特點束縛了 Web 的發(fā)展 。HTML 過份限制了 Web 文件的復雜性與靈活性,使人 們面對復雜多變的應用時束手無策 ,雖經(jīng)很多努 力,包括各種修改擴充,如增加表格、框架、腳 本語言等等,都未能從根本上改變 HTML 的局 限性 。于是重新構(gòu)造 Web,并相繼誕生了許多新 技術(shù)。XML 是其中最引人注目的一項。XML 是 SGML(標準通用標記語言)的子 集,是一種元語言。它包含一組基本規(guī)則,利用 這些規(guī)則可創(chuàng)建針對特定領(lǐng)域的標記語言 。這些 標記不是描述信息的顯示方式 ,而是描述信息本 身,如購物定單中的產(chǎn)品規(guī)格、價格、件數(shù)、送 貨方式等 。XML 包含 3 個要素 :DTD(Document Type Definition)或 XMLschema( XML 大綱 ), XSL(Extensible Stylesheet Language,即可擴 展樣式語言)和 Xlink ( Extensible Link Language,可擴展 鏈接語言 )。DTD 和 XML 大 綱規(guī)定了 XML 文件的邏輯結(jié)構(gòu),定義了 XML 文件的元素 、元素的屬性以及元素和元素屬性之 間的關(guān)系 ;Namespace(名域 )實現(xiàn)統(tǒng)一的 XML 文檔數(shù)據(jù)表示以及數(shù)據(jù)的相互集成 ;XSL 用于規(guī) 定 XML 文檔呈現(xiàn)的樣式,這樣使得數(shù)據(jù)與其表 現(xiàn)形式相互獨立;而 Xlink 將進一步擴展目前 Web 上已有的簡單鏈接。與 HTML 一樣,XML 也是基于文本的標 收稿日期: 2002- 10- 14; 修回日期: 2002- 11- 21作者簡介:陳寒江( 1979- ),男, 湖北人,華中科技大學在讀研究生,從事信息系統(tǒng)與信息集成研究。 記語言,用標記來表示數(shù)據(jù)。 不同的是, XML 的標記說明數(shù)據(jù)的含義 ,而不是如何顯示 。XML 的標記由一對尖括號組成( ),其 間是 XML 數(shù)據(jù)的元素。一個元素可以完全包含 在另一個元素之中 ,以表示嵌套層次結(jié)構(gòu) 。XML 格式良好,但須滿足幾條規(guī)則,如標記不能交錯 嵌套等。 如果沒有 DTD,文檔可以包含任何類 型的標記 。但如果 XML 文檔有相應的 DTD,則 必須滿足語義限制 。只有其結(jié)構(gòu) 、數(shù)據(jù)類型和數(shù) 據(jù)關(guān)聯(lián)等均滿足 DTD 要求的 XML 文檔,才能 被稱為有效的 XML 文檔。XML 在采用簡單、柔性的標準化格式表達 和與應用程序間交換數(shù)據(jù)方面邁出了一大步。 XML 的一大優(yōu)點在于將用戶界面(XSL 指定顯 示格式)和結(jié)構(gòu)化數(shù)據(jù)( XML 文檔內(nèi)容)相分 離 ,允許不同來源的數(shù)據(jù)無縫集成以及對同 一數(shù) 據(jù)的多種處理 。如同一數(shù)據(jù)內(nèi)容多種視圖 ,既滿 足不同用戶的需求,又保證了數(shù)據(jù)的安全性 。從 數(shù)據(jù)描述語言角度看, XML 靈活而可擴展的, 有良好的結(jié)構(gòu)和約束 ,比傳統(tǒng)數(shù)據(jù)庫模型有更加 強大的描述能力 。從數(shù)據(jù)處理角度看 ,它足夠簡 單且易于閱讀,同時又易于被應用程序處理 。因 此,XML 必將成為下一代網(wǎng)絡上的數(shù)據(jù)語言。2 XML 數(shù)據(jù)模型與傳統(tǒng)數(shù)據(jù)庫模型傳統(tǒng)數(shù)據(jù)庫技術(shù)與 XML 技術(shù)有很多的異同 點,詳見表 1。表 1傳統(tǒng)數(shù)據(jù)庫技術(shù)與 XML 技術(shù)異同點傳統(tǒng)數(shù)據(jù)庫 XML數(shù) 據(jù)有結(jié)構(gòu) 半結(jié)構(gòu) 模 型網(wǎng)狀、關(guān)系、 面向?qū)ο蟮?半結(jié)構(gòu)化(圖或樹狀結(jié)構(gòu)) 模 式數(shù)據(jù)目錄 (系統(tǒng)數(shù)據(jù)字典)中 DTD、 XML-Schema、XML-Data 中顯示樣式 簡單 豐富、由 XML 指定 查詢語言 SQLXML-QL(類 SQL)查詢規(guī)范 完備的 完備的 數(shù)據(jù)更新 完全支持 代理軟件支持 事 務支持 尚不支持 使 用面向應用 面向應用、面向人 以數(shù)據(jù)庫的觀點 ,XML 文檔可看作數(shù)據(jù)庫, 它的 DTD 相當于數(shù)據(jù)庫的模式。 數(shù)據(jù)庫模式描 述了數(shù)據(jù)庫的結(jié)構(gòu) ,數(shù)據(jù)庫管理由數(shù)據(jù)實體的類 型、特征、實體間的聯(lián)系的表示。數(shù)據(jù)模式在 數(shù) 據(jù)庫系統(tǒng)中存儲于數(shù)據(jù)目 錄(系統(tǒng)數(shù)據(jù)字典 )中, 是數(shù)據(jù)目錄的最基本內(nèi)容 ,DBMS 通過數(shù)據(jù)目錄 來管理和訪問數(shù)據(jù)模式 。DTD 描述的文檔結(jié)構(gòu), 非常類似數(shù)據(jù)庫模式描述數(shù)據(jù)類型和屬性間的 關(guān)系,定義了所允許的元素類型、屬性和實體, 及對它們組合方式的約束條件。DTD 定義這些 規(guī)則,保證了所有文檔一致的邏輯結(jié)構(gòu)。XML 數(shù)據(jù)模型是半結(jié)構(gòu)化模型 ,XML 文檔 可用 XML 圖表達。圖的頂點由唯一的字符串標 識 ,稱為對象標識 符( OID);圖的邊用 Element Tag 標記;圖的節(jié)點用一組屬性值標記;圖的葉 節(jié)點由 值(字符串 )標記 ;圖有一個根節(jié) 點 。XML 圖是一種非常靈活的數(shù)據(jù)模型 ,很容易構(gòu)造關(guān)系 數(shù)據(jù)和面向?qū)ο髷?shù)據(jù) 。例如關(guān)系數(shù)據(jù)庫中一個或 多個關(guān)系對應一 XML 文檔,相應的 DTD 描述 該 XML 文檔結(jié)構(gòu)。 每個關(guān)系有數(shù)目可變元組, 每個元組由多個分量組成,在 DTD 中可通過定 義嵌套元素來表示。例如 Student 關(guān)系模式:Student (SNO, NAME, SEX, AGE, DEPT)對應的 DTD 為:在 DTD 中 ,還可為每個 ELEMENT 定義屬 性描述數(shù)據(jù)類型等。XML 的元素可以嵌套,故 能方便地表示層次結(jié)構(gòu) ,可以描述擴展的關(guān)系模 型和面向?qū)ο蟮臄?shù)據(jù)模型。3基于 XML 的數(shù)據(jù)庫系統(tǒng)構(gòu)建方法3.1 基本思路由于 XML 文檔可看成一個數(shù)據(jù)庫,數(shù)據(jù)結(jié) 構(gòu)不復雜的數(shù)據(jù)模型,可以直接用一個 XML 文 檔作為數(shù)據(jù)庫。 數(shù)據(jù)結(jié)構(gòu)較為復雜的數(shù)據(jù)模型, 僅用一個 XML 來描述所有數(shù)據(jù),會使 XML 文 檔過于龐大,結(jié)構(gòu)混亂,對數(shù)據(jù)的操作不便。為 此,可結(jié)合傳統(tǒng)的關(guān)系數(shù)據(jù)庫,把 XML 與之糅 合在一起,充分利用各自的優(yōu)點,組成一種新型 的基于 XML 的數(shù)據(jù)庫系統(tǒng)。 即把由 XML 描述 的數(shù)據(jù)組織在關(guān)系數(shù)據(jù)庫中,而不是 XML 自身 的文件倉儲中 。采用關(guān)系數(shù)據(jù)庫反映應用數(shù)據(jù)集 根節(jié)點的子節(jié)點,而由 XML 組織根節(jié)點的各個 38子樹的內(nèi)容,形成數(shù)據(jù)對象。3.2 實現(xiàn)步驟 建立元數(shù)據(jù)庫將元數(shù)據(jù)的每個元素用 XML 標記 。若某元 數(shù)據(jù)有多個元素,則分別置標,然后作為一個字 符串存放于相應字段中。由于標記后的 XML 元 素已成為獨立的對象 ,因此可以通過對象屬性的 設置表示元數(shù)據(jù)的特殊含義。 建立文本對象數(shù)據(jù)庫 對于圖象、音頻、視頻等對象,由于其數(shù)據(jù) 意義上不再是樹性結(jié)構(gòu),因此無需再用 XML 置 標,而只需建立相應的圖象、音頻、視頻庫即可。 4基于 XML 的數(shù)據(jù)庫系統(tǒng)研究4.1 本系統(tǒng)與對象關(guān)系型系統(tǒng)的區(qū)別基于 XML 的數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)無論存儲形 式還是表現(xiàn)形式都是結(jié)構(gòu)化的 ,無需再作數(shù)據(jù)分 析 。而對象 關(guān)系型系統(tǒng)的高層數(shù)據(jù)以對象形式 出現(xiàn),底層數(shù)據(jù)由關(guān)系型數(shù)據(jù)庫組織,故一個對 象的數(shù)據(jù)將分散在多個表中,查詢時必須通過 “包裝層”把用戶提交的“對象 關(guān)系型查詢” 根據(jù)規(guī)則映射為“關(guān)系型查詢 ”。對于具有多種 形式的數(shù)據(jù)集 ,這樣構(gòu)成的系統(tǒng)將難以實施優(yōu)化 而使工作效率受損。本系統(tǒng)的數(shù)據(jù)是以 XML 結(jié) 構(gòu)化后再組織到關(guān)系數(shù)據(jù)庫中 ,無法直接使用關(guān) 系數(shù)據(jù)庫的查詢方法(字符串匹配除外 )。 為了 實現(xiàn)有效的查詢,需要建立相應的搜索引擎。4.2 本系統(tǒng)滿足“樹高度大于 1強查詢”要求 面向?qū)ο髷?shù)據(jù)庫雖可表示復雜數(shù)據(jù)結(jié)構(gòu) ,但將引發(fā)語義的復雜 ,故無法滿 足“強查詢 ”要求。 Book關(guān)系數(shù)據(jù)庫能描述的 2 維數(shù)據(jù)結(jié)構(gòu) 。圖 1 中 ,數(shù) 據(jù)集 Book 是高度為 4 的樹。 若先把 Book 分解 成 Title、Creator、Content 等多個子樹,再把 Creator 分為 Author 和 Translator 子樹,直到 把整個數(shù)據(jù)集分解為高度為 1 的子樹集合止 。借 助這種方法 ,用關(guān)系數(shù)據(jù)庫描述較高的樹通常需 要數(shù)目龐大的表 ,應人為的省略層次信息以降低 樹高。 如人為地刪略子節(jié)點“ Author ”和 “Translator”,使“W. Richard Stevens”和“尤 晉元”成為“Creator”的直系子節(jié)點。這種方法的缺點是: 必須建立重復字段 (如一項電子資源有多個作者 ,就必須設立多個 作者字段 ); 會丟失部分數(shù)據(jù)信 息(如作者項 中的著者、譯者、編者之分)?;?XML 的數(shù)據(jù)庫系統(tǒng)可以很好的滿足 “樹高度大于 1 強查詢”要求。 樹高度大于 1的數(shù)據(jù)模型 ,可以把第 1 層以下的所有元素都用 XML 文檔描述,即把所有子樹都描述成一個 XML 文檔,樹的高度就可減少為 1。 此時,整 個系統(tǒng)只需一個表,表中的數(shù)據(jù)是一個個 XML 文檔或者是指向 XML 文檔的索引文件,大大簡 化了數(shù)據(jù)結(jié)構(gòu) 。查詢操作時 ,先在表中找到相應 的 XML 文檔或索引文件,然后再借助 XML 搜 索引擎在 XML 文檔中找到相應的字段。 這樣, 既簡化了數(shù)據(jù)結(jié)構(gòu),又滿足了強查詢的需要。5 結(jié)束語CreatorCreator總的來說 ,基于 XML 的數(shù)據(jù)庫系統(tǒng)有如下 優(yōu)點: 以 XML 標記數(shù)據(jù),解決了數(shù)據(jù)間的 種種復雜關(guān)系。 以數(shù)據(jù)庫而不是文件倉儲組 織數(shù)據(jù),有利于管理和維護。 將文本內(nèi)容拆 分為若干小數(shù)據(jù)對象并用 XML 置標,有利于網(wǎng) 上的檢索與瀏覽。TitleUnix 環(huán)境 高級 編程Advanced programming in the Unix EnvironmentAuthor TranslatorPreface Chapter1 Section1 Section2參考文獻:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論