



免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
文章編號(hào): 1006- 1576( 2003) 02- 0037- 03基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)研究陳寒江,吳相林(華中科技大學(xué) 系統(tǒng)工程研究所,湖北 武漢 430074 )摘要:XML 是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言( SGML)的子集,又稱元語(yǔ)言。利用其基本規(guī)則可創(chuàng)建針對(duì)特定領(lǐng)域 的標(biāo)記語(yǔ)言。XML 允許用戶界面和結(jié)構(gòu)化數(shù)據(jù)相分離,具有不同來(lái)源的數(shù)據(jù)無(wú)縫集成等優(yōu)點(diǎn)。 在比較 XML 數(shù)據(jù)模型和傳統(tǒng)數(shù)據(jù)庫(kù)模型優(yōu)缺點(diǎn)的基礎(chǔ)上,根據(jù)文件類型定義(DTD),提出了關(guān)系數(shù)據(jù)庫(kù)與 XML 結(jié)合, 組成 XML 數(shù)據(jù)庫(kù)系統(tǒng)的方法。 它采用關(guān)系數(shù)據(jù)庫(kù)反映數(shù)據(jù)集根節(jié)點(diǎn)的子節(jié)點(diǎn),組織根節(jié)點(diǎn)的各子樹內(nèi)容, 形成數(shù)據(jù)對(duì)象,建立元數(shù)據(jù)庫(kù)和對(duì)象數(shù)據(jù)庫(kù)?;?XML 的數(shù)據(jù)庫(kù)系統(tǒng)以 XML 標(biāo)記數(shù)據(jù),解決了數(shù)據(jù)間的復(fù) 雜關(guān)系。以數(shù)據(jù)庫(kù)而不是文件倉(cāng)儲(chǔ)組織數(shù)據(jù),有利于管理和維護(hù)。關(guān)鍵詞:XML;數(shù)據(jù)庫(kù);通用標(biāo)記語(yǔ)言;文件類型定義 中圖分類號(hào):TP311.132.3文獻(xiàn)標(biāo)識(shí)碼: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 簡(jiǎn)介HTML 語(yǔ)言的簡(jiǎn)單和普遍性使 Web 的應(yīng)用 日益普及,但當(dāng)人們認(rèn)識(shí)了互聯(lián)網(wǎng)的價(jià)值,準(zhǔn)備 將 Web 應(yīng)用到電子商務(wù)、 EDI 等全新領(lǐng)域時(shí), 卻發(fā)現(xiàn)正是這些特點(diǎn)束縛了 Web 的發(fā)展 。HTML 過(guò)份限制了 Web 文件的復(fù)雜性與靈活性,使人 們面對(duì)復(fù)雜多變的應(yīng)用時(shí)束手無(wú)策 ,雖經(jīng)很多努 力,包括各種修改擴(kuò)充,如增加表格、框架、腳 本語(yǔ)言等等,都未能從根本上改變 HTML 的局 限性 。于是重新構(gòu)造 Web,并相繼誕生了許多新 技術(shù)。XML 是其中最引人注目的一項(xiàng)。XML 是 SGML(標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)的子 集,是一種元語(yǔ)言。它包含一組基本規(guī)則,利用 這些規(guī)則可創(chuàng)建針對(duì)特定領(lǐng)域的標(biāo)記語(yǔ)言 。這些 標(biāo)記不是描述信息的顯示方式 ,而是描述信息本 身,如購(gòu)物定單中的產(chǎn)品規(guī)格、價(jià)格、件數(shù)、送 貨方式等 。XML 包含 3 個(gè)要素 :DTD(Document Type Definition)或 XMLschema( XML 大綱 ), XSL(Extensible Stylesheet Language,即可擴(kuò) 展樣式語(yǔ)言)和 Xlink ( Extensible Link Language,可擴(kuò)展 鏈接語(yǔ)言 )。DTD 和 XML 大 綱規(guī)定了 XML 文件的邏輯結(jié)構(gòu),定義了 XML 文件的元素 、元素的屬性以及元素和元素屬性之 間的關(guān)系 ;Namespace(名域 )實(shí)現(xiàn)統(tǒng)一的 XML 文檔數(shù)據(jù)表示以及數(shù)據(jù)的相互集成 ;XSL 用于規(guī) 定 XML 文檔呈現(xiàn)的樣式,這樣使得數(shù)據(jù)與其表 現(xiàn)形式相互獨(dú)立;而 Xlink 將進(jìn)一步擴(kuò)展目前 Web 上已有的簡(jiǎn)單鏈接。與 HTML 一樣,XML 也是基于文本的標(biāo) 收稿日期: 2002- 10- 14; 修回日期: 2002- 11- 21作者簡(jiǎn)介:陳寒江( 1979- ),男, 湖北人,華中科技大學(xué)在讀研究生,從事信息系統(tǒng)與信息集成研究。 記語(yǔ)言,用標(biāo)記來(lái)表示數(shù)據(jù)。 不同的是, XML 的標(biāo)記說(shuō)明數(shù)據(jù)的含義 ,而不是如何顯示 。XML 的標(biāo)記由一對(duì)尖括號(hào)組成( ),其 間是 XML 數(shù)據(jù)的元素。一個(gè)元素可以完全包含 在另一個(gè)元素之中 ,以表示嵌套層次結(jié)構(gòu) 。XML 格式良好,但須滿足幾條規(guī)則,如標(biāo)記不能交錯(cuò) 嵌套等。 如果沒(méi)有 DTD,文檔可以包含任何類 型的標(biāo)記 。但如果 XML 文檔有相應(yīng)的 DTD,則 必須滿足語(yǔ)義限制 。只有其結(jié)構(gòu) 、數(shù)據(jù)類型和數(shù) 據(jù)關(guān)聯(lián)等均滿足 DTD 要求的 XML 文檔,才能 被稱為有效的 XML 文檔。XML 在采用簡(jiǎn)單、柔性的標(biāo)準(zhǔn)化格式表達(dá) 和與應(yīng)用程序間交換數(shù)據(jù)方面邁出了一大步。 XML 的一大優(yōu)點(diǎn)在于將用戶界面(XSL 指定顯 示格式)和結(jié)構(gòu)化數(shù)據(jù)( XML 文檔內(nèi)容)相分 離 ,允許不同來(lái)源的數(shù)據(jù)無(wú)縫集成以及對(duì)同 一數(shù) 據(jù)的多種處理 。如同一數(shù)據(jù)內(nèi)容多種視圖 ,既滿 足不同用戶的需求,又保證了數(shù)據(jù)的安全性 。從 數(shù)據(jù)描述語(yǔ)言角度看, XML 靈活而可擴(kuò)展的, 有良好的結(jié)構(gòu)和約束 ,比傳統(tǒng)數(shù)據(jù)庫(kù)模型有更加 強(qiáng)大的描述能力 。從數(shù)據(jù)處理角度看 ,它足夠簡(jiǎn) 單且易于閱讀,同時(shí)又易于被應(yīng)用程序處理 。因 此,XML 必將成為下一代網(wǎng)絡(luò)上的數(shù)據(jù)語(yǔ)言。2 XML 數(shù)據(jù)模型與傳統(tǒng)數(shù)據(jù)庫(kù)模型傳統(tǒng)數(shù)據(jù)庫(kù)技術(shù)與 XML 技術(shù)有很多的異同 點(diǎn),詳見(jiàn)表 1。表 1傳統(tǒng)數(shù)據(jù)庫(kù)技術(shù)與 XML 技術(shù)異同點(diǎn)傳統(tǒng)數(shù)據(jù)庫(kù) 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 中顯示樣式 簡(jiǎn)單 豐富、由 XML 指定 查詢語(yǔ)言 SQLXML-QL(類 SQL)查詢規(guī)范 完備的 完備的 數(shù)據(jù)更新 完全支持 代理軟件支持 事 務(wù)支持 尚不支持 使 用面向應(yīng)用 面向應(yīng)用、面向人 以數(shù)據(jù)庫(kù)的觀點(diǎn) ,XML 文檔可看作數(shù)據(jù)庫(kù), 它的 DTD 相當(dāng)于數(shù)據(jù)庫(kù)的模式。 數(shù)據(jù)庫(kù)模式描 述了數(shù)據(jù)庫(kù)的結(jié)構(gòu) ,數(shù)據(jù)庫(kù)管理由數(shù)據(jù)實(shí)體的類 型、特征、實(shí)體間的聯(lián)系的表示。數(shù)據(jù)模式在 數(shù) 據(jù)庫(kù)系統(tǒng)中存儲(chǔ)于數(shù)據(jù)目 錄(系統(tǒng)數(shù)據(jù)字典 )中, 是數(shù)據(jù)目錄的最基本內(nèi)容 ,DBMS 通過(guò)數(shù)據(jù)目錄 來(lái)管理和訪問(wèn)數(shù)據(jù)模式 。DTD 描述的文檔結(jié)構(gòu), 非常類似數(shù)據(jù)庫(kù)模式描述數(shù)據(jù)類型和屬性間的 關(guān)系,定義了所允許的元素類型、屬性和實(shí)體, 及對(duì)它們組合方式的約束條件。DTD 定義這些 規(guī)則,保證了所有文檔一致的邏輯結(jié)構(gòu)。XML 數(shù)據(jù)模型是半結(jié)構(gòu)化模型 ,XML 文檔 可用 XML 圖表達(dá)。圖的頂點(diǎn)由唯一的字符串標(biāo) 識(shí) ,稱為對(duì)象標(biāo)識(shí) 符( OID);圖的邊用 Element Tag 標(biāo)記;圖的節(jié)點(diǎn)用一組屬性值標(biāo)記;圖的葉 節(jié)點(diǎn)由 值(字符串 )標(biāo)記 ;圖有一個(gè)根節(jié) 點(diǎn) 。XML 圖是一種非常靈活的數(shù)據(jù)模型 ,很容易構(gòu)造關(guān)系 數(shù)據(jù)和面向?qū)ο髷?shù)據(jù) 。例如關(guān)系數(shù)據(jù)庫(kù)中一個(gè)或 多個(gè)關(guān)系對(duì)應(yīng)一 XML 文檔,相應(yīng)的 DTD 描述 該 XML 文檔結(jié)構(gòu)。 每個(gè)關(guān)系有數(shù)目可變?cè)M, 每個(gè)元組由多個(gè)分量組成,在 DTD 中可通過(guò)定 義嵌套元素來(lái)表示。例如 Student 關(guān)系模式:Student (SNO, NAME, SEX, AGE, DEPT)對(duì)應(yīng)的 DTD 為:在 DTD 中 ,還可為每個(gè) ELEMENT 定義屬 性描述數(shù)據(jù)類型等。XML 的元素可以嵌套,故 能方便地表示層次結(jié)構(gòu) ,可以描述擴(kuò)展的關(guān)系模 型和面向?qū)ο蟮臄?shù)據(jù)模型。3基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)建方法3.1 基本思路由于 XML 文檔可看成一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)結(jié) 構(gòu)不復(fù)雜的數(shù)據(jù)模型,可以直接用一個(gè) XML 文 檔作為數(shù)據(jù)庫(kù)。 數(shù)據(jù)結(jié)構(gòu)較為復(fù)雜的數(shù)據(jù)模型, 僅用一個(gè) XML 來(lái)描述所有數(shù)據(jù),會(huì)使 XML 文 檔過(guò)于龐大,結(jié)構(gòu)混亂,對(duì)數(shù)據(jù)的操作不便。為 此,可結(jié)合傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù),把 XML 與之糅 合在一起,充分利用各自的優(yōu)點(diǎn),組成一種新型 的基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)。 即把由 XML 描述 的數(shù)據(jù)組織在關(guān)系數(shù)據(jù)庫(kù)中,而不是 XML 自身 的文件倉(cāng)儲(chǔ)中 。采用關(guān)系數(shù)據(jù)庫(kù)反映應(yīng)用數(shù)據(jù)集 根節(jié)點(diǎn)的子節(jié)點(diǎn),而由 XML 組織根節(jié)點(diǎn)的各個(gè) 38子樹的內(nèi)容,形成數(shù)據(jù)對(duì)象。3.2 實(shí)現(xiàn)步驟 建立元數(shù)據(jù)庫(kù)將元數(shù)據(jù)的每個(gè)元素用 XML 標(biāo)記 。若某元 數(shù)據(jù)有多個(gè)元素,則分別置標(biāo),然后作為一個(gè)字 符串存放于相應(yīng)字段中。由于標(biāo)記后的 XML 元 素已成為獨(dú)立的對(duì)象 ,因此可以通過(guò)對(duì)象屬性的 設(shè)置表示元數(shù)據(jù)的特殊含義。 建立文本對(duì)象數(shù)據(jù)庫(kù) 對(duì)于圖象、音頻、視頻等對(duì)象,由于其數(shù)據(jù) 意義上不再是樹性結(jié)構(gòu),因此無(wú)需再用 XML 置 標(biāo),而只需建立相應(yīng)的圖象、音頻、視頻庫(kù)即可。 4基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)研究4.1 本系統(tǒng)與對(duì)象關(guān)系型系統(tǒng)的區(qū)別基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)無(wú)論存儲(chǔ)形 式還是表現(xiàn)形式都是結(jié)構(gòu)化的 ,無(wú)需再作數(shù)據(jù)分 析 。而對(duì)象 關(guān)系型系統(tǒng)的高層數(shù)據(jù)以對(duì)象形式 出現(xiàn),底層數(shù)據(jù)由關(guān)系型數(shù)據(jù)庫(kù)組織,故一個(gè)對(duì) 象的數(shù)據(jù)將分散在多個(gè)表中,查詢時(shí)必須通過(guò) “包裝層”把用戶提交的“對(duì)象 關(guān)系型查詢” 根據(jù)規(guī)則映射為“關(guān)系型查詢 ”。對(duì)于具有多種 形式的數(shù)據(jù)集 ,這樣構(gòu)成的系統(tǒng)將難以實(shí)施優(yōu)化 而使工作效率受損。本系統(tǒng)的數(shù)據(jù)是以 XML 結(jié) 構(gòu)化后再組織到關(guān)系數(shù)據(jù)庫(kù)中 ,無(wú)法直接使用關(guān) 系數(shù)據(jù)庫(kù)的查詢方法(字符串匹配除外 )。 為了 實(shí)現(xiàn)有效的查詢,需要建立相應(yīng)的搜索引擎。4.2 本系統(tǒng)滿足“樹高度大于 1強(qiáng)查詢”要求 面向?qū)ο髷?shù)據(jù)庫(kù)雖可表示復(fù)雜數(shù)據(jù)結(jié)構(gòu) ,但將引發(fā)語(yǔ)義的復(fù)雜 ,故無(wú)法滿 足“強(qiáng)查詢 ”要求。 Book關(guān)系數(shù)據(jù)庫(kù)能描述的 2 維數(shù)據(jù)結(jié)構(gòu) 。圖 1 中 ,數(shù) 據(jù)集 Book 是高度為 4 的樹。 若先把 Book 分解 成 Title、Creator、Content 等多個(gè)子樹,再把 Creator 分為 Author 和 Translator 子樹,直到 把整個(gè)數(shù)據(jù)集分解為高度為 1 的子樹集合止 。借 助這種方法 ,用關(guān)系數(shù)據(jù)庫(kù)描述較高的樹通常需 要數(shù)目龐大的表 ,應(yīng)人為的省略層次信息以降低 樹高。 如人為地刪略子節(jié)點(diǎn)“ Author ”和 “Translator”,使“W. Richard Stevens”和“尤 晉元”成為“Creator”的直系子節(jié)點(diǎn)。這種方法的缺點(diǎn)是: 必須建立重復(fù)字段 (如一項(xiàng)電子資源有多個(gè)作者 ,就必須設(shè)立多個(gè) 作者字段 ); 會(huì)丟失部分?jǐn)?shù)據(jù)信 息(如作者項(xiàng) 中的著者、譯者、編者之分)?;?XML 的數(shù)據(jù)庫(kù)系統(tǒng)可以很好的滿足 “樹高度大于 1 強(qiáng)查詢”要求。 樹高度大于 1的數(shù)據(jù)模型 ,可以把第 1 層以下的所有元素都用 XML 文檔描述,即把所有子樹都描述成一個(gè) XML 文檔,樹的高度就可減少為 1。 此時(shí),整 個(gè)系統(tǒng)只需一個(gè)表,表中的數(shù)據(jù)是一個(gè)個(gè) XML 文檔或者是指向 XML 文檔的索引文件,大大簡(jiǎn) 化了數(shù)據(jù)結(jié)構(gòu) 。查詢操作時(shí) ,先在表中找到相應(yīng) 的 XML 文檔或索引文件,然后再借助 XML 搜 索引擎在 XML 文檔中找到相應(yīng)的字段。 這樣, 既簡(jiǎn)化了數(shù)據(jù)結(jié)構(gòu),又滿足了強(qiáng)查詢的需要。5 結(jié)束語(yǔ)CreatorCreator總的來(lái)說(shuō) ,基于 XML 的數(shù)據(jù)庫(kù)系統(tǒng)有如下 優(yōu)點(diǎn): 以 XML 標(biāo)記數(shù)據(jù),解決了數(shù)據(jù)間的 種種復(fù)雜關(guān)系。 以數(shù)據(jù)庫(kù)而不是文件倉(cāng)儲(chǔ)組 織數(shù)據(jù),有利于管理和維護(hù)。 將文本內(nèi)容拆 分為若干小數(shù)據(jù)對(duì)象并用 XML 置標(biāo),有利于網(wǎng) 上的檢索與瀏覽。TitleUnix 環(huán)境 高級(jí) 編程Advanced programming in the Unix EnvironmentAuthor TranslatorPreface Chapter1 Section1 Section2參考文獻(xiàn):
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源企業(yè)部分股權(quán)轉(zhuǎn)讓及新能源項(xiàng)目合作協(xié)議
- 文化活動(dòng)場(chǎng)地租賃合同終止及場(chǎng)地恢復(fù)協(xié)議
- 商業(yè)保險(xiǎn)理賠與財(cái)產(chǎn)分配合同
- 高端離婚子女撫養(yǎng)及財(cái)產(chǎn)分割協(xié)議
- 政府機(jī)構(gòu)公務(wù)車輛無(wú)償租賃使用協(xié)議
- 車輛事故責(zé)任承擔(dān)及經(jīng)濟(jì)賠償協(xié)議范本
- 精裝修住宅出租服務(wù)合同
- 北京科萬(wàn)物業(yè)裝修工程合同施工安全與質(zhì)量保障協(xié)議
- 酒店培訓(xùn)服務(wù)禮儀
- 2024年高考語(yǔ)文備考之掌握分析高考古詩(shī)題材技巧
- 各種惡劣天氣行車安全培訓(xùn)
- 化工裝置報(bào)廢拆除施工方案
- 華東理工大學(xué)《生物信息學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 《秦腔》課件統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè)
- DB51-T 2975-2022 氣凝膠復(fù)合保溫隔熱材料及系統(tǒng)通.用技術(shù)條件
- 第三講加快發(fā)展新質(zhì)生產(chǎn)力-2024年形勢(shì)與政策
- 腦出血疑難病例討論護(hù)理
- 雨季行車安全培訓(xùn)
- 廣西南寧市英語(yǔ)小升初試卷及解答參考(2024-2025學(xué)年)
- 2016年北京市中考真題數(shù)學(xué)試題(解析版)
- 智能客服培訓(xùn)手冊(cè)
評(píng)論
0/150
提交評(píng)論