(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf_第1頁
(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf_第2頁
(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf_第3頁
(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf_第4頁
(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

(控制理論與控制工程專業(yè)論文)基于xml的數(shù)據(jù)管理技術(shù)的研究.pdf.pdf 免費下載

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

文檔簡介

碩士論文 基于x m l 的數(shù)據(jù)管理技術(shù)的研究 摘要 隨著互聯(lián)網(wǎng)的迅速發(fā)展,x m l 技術(shù)的不斷成熟,x m l 已經(jīng)成為w e b 上數(shù)據(jù)表示和 交換的統(tǒng)一標(biāo)準(zhǔn)。研究x m l 數(shù)據(jù)管理技術(shù)對基于w e b 的應(yīng)用領(lǐng)域有著十分重要的意義。 為了有效地加工、分析和處理x m l 數(shù)據(jù),國內(nèi)外學(xué)者已經(jīng)提出了各種x m l 的查詢語 言和存儲管理技術(shù)。由于關(guān)系數(shù)據(jù)庫是目前最成熟的一種數(shù)據(jù)管理技術(shù),在存儲和管理 x m l 數(shù)據(jù)的各種方式中,基于關(guān)系數(shù)據(jù)庫的x m l 數(shù)據(jù)存儲和處理技術(shù)顯然是一種可行 而有效的方式,并在學(xué)術(shù)界受到了廣泛的關(guān)注。 本文研究了x m l 數(shù)據(jù)管理的相關(guān)技術(shù),介紹了x m l 語法的主要特點,對x m l 數(shù) 據(jù)的關(guān)系存儲以及x m l 數(shù)據(jù)的查詢技術(shù)作了系統(tǒng)論述。本文的研究工作包括以下幾方 面: 首先,對x m l 數(shù)據(jù)的存儲方式進行了歸納和總結(jié)。然后,研究了基于關(guān)系數(shù)據(jù)庫 的x m l 數(shù)據(jù)存儲技術(shù),采用結(jié)構(gòu)映射的方法,實現(xiàn)了x m l 數(shù)據(jù)到關(guān)系數(shù)據(jù)庫的存儲。 接著,研究了基于關(guān)系數(shù)據(jù)庫的x m l 數(shù)據(jù)查詢技術(shù),采用x p a t h 和x q u e r y 方法,實 現(xiàn)了對x m l 文檔的查詢。最后,對x m l 索引查詢的一些關(guān)鍵技術(shù)進行了初步探討, 采用了編碼的方法,實現(xiàn)了對x m l 文檔進行前序一后序節(jié)點編碼。 關(guān)鍵詞:x m l ,數(shù)據(jù)管理,關(guān)系數(shù)據(jù)庫,存儲,查詢,索引 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n t e m e ta n dx m l ,x m l h a sg r a d u a l l yb e c o m eas t a n d a r do f r 印r e s 礎(chǔ)n ga n de x c h a n g i n gd a t ao nt h ew e b r e s e a r c h i n gt h et e c h n o l o g yo fx m l d a t a m a i l a g 鋤e n tp l a y sa ni m p o r t a n tr o l ei na p p l i c a t i o n s b a s e do nt h ew e b t oo r g a n i z ea n d m a n a 2 ex m l d a t ae f f i c i e n t l y , s e v e r a lx m l d a t am a n a g e m e n ta p p r o a c h e sh a v e b e e np r o p o s e d r e l a t i o n a ld a :油雒et e c h n o l o g yh a sb e e na l m o s tp e r f e c ta n dd o m i n a n tm b u s m e s sd a t a m a i l a g 鋤e n ta r c a u s i n gr e l a t i o n a ld a t a b a s et om a n a g ex m l d a t ai sav i a b l ea n de t t e c _ t i 、7 e i i i i l l u i c i t h i s 也e s i sr e s e 礎(chǔ)st h er e l e v a n tt e c h n o l o g yo fx m l d a t am a n a g e m e n t ,a n a l y z e st h e c h a r a c t e r i s t i c so fx m l ,a n dd o e sat h o r o u g hr e s e a r c ha n d d i s c u s s i o no nt h er e l a t i o n a ls t o r a g e o fx m ld a t aa n dt h eq u e r y i n gp r o c e s s t h ep r i m a r yt a s k s o ft h ep a p e ra r ea sf o l l o w s : f i r s t w es l 眥a r i z ea n dc l a s s i f yx m ls t o r a g ea p p r o a c h e s s e c o n d ,w es t u d yo nx m l s t o m g et e c h n 0 1 0 西e sb a s e do nr e l a t i o n a ld a t a b a s e ,a n ds t o r et h ex m l d a t ai n t oar e l a t i o h a l d a t a b a s eu s i n gs t r u c t u r e m a p p i n gm e t h o d t h i r d ,w es t u d yo nx m l q u e r yt e c h n o l o g i e sb a s e d o nr e l a t i o n a ld a t a b a s e ,a n dd ot h eq u e r yo fx m l d a t au s i n gx p a t ha n dx q u e r y f i n a l l y , w e s t u d vo ns o m ek e yt e c h n o l o g i e so fx m l i n d e x ,f i n i s ht h ec o d i n go fx m l d a t au s i n g d i e t z c o d i n gm e t h o d k e y w o r d s :x m l ,d a t am a n a g e m e n t ,r e l a t i o n a ld a t a b a s e ,s t o r a g e ,q u e r y , i n d 既 i i 聲明 本學(xué)位論文是我在導(dǎo)師的指導(dǎo)下取得的研究成果,盡我所知,在本學(xué) 位論文中,除了加以標(biāo)注和致謝的部分外,不包含其他人已經(jīng)發(fā)表或公布 過的研究成果,也不包含我為獲得任何教育機構(gòu)的學(xué)位或?qū)W歷而使用過的 材料。與我一同工作的同事對本學(xué)位論文做出的貢獻均已在論文中作了明 確的說明。 研究生簽名:型皇盤川年1 月c le l 學(xué)位論文使用授權(quán)聲明 南京理工大學(xué)有權(quán)保存本學(xué)位論文的電子和紙質(zhì)文檔,可以借閱或上 網(wǎng)公布本學(xué)位論文的部分或全部內(nèi)容,可以向有關(guān)部門或機構(gòu)送交并授權(quán) 其保存、借閱或上網(wǎng)公布本學(xué)位論文的部分或全部內(nèi)容。對于保密論文, 按保密的有關(guān)規(guī)定和程序處理。 研究生簽名:刎年j 月c | e l 碩士論文 基于x m l 的數(shù)據(jù)管理技術(shù)的研究 1 緒論 1 1 論文研究的背景和意義 互聯(lián)網(wǎng)的迅速發(fā)展,改變并沖擊著整個世界,帶來了經(jīng)濟的發(fā)展和生活的豐富,網(wǎng) 上飛速流傳的信息也越來越龐大和復(fù)雜。作為互聯(lián)網(wǎng)最主要應(yīng)用的w e b 已經(jīng)成為最大的 信息資源庫。h t i v i l ( h y p e r t e x tm a r k u pl a n g u a g e ,超文本標(biāo)記語言) 在w e b 的發(fā)展過 程中起到了很重要的作用。h t m l 以其簡單易學(xué)、靈活通用的特性,使人們發(fā)布、檢索、 交流信息都變得非常簡單。它繼承了s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,標(biāo) 準(zhǔn)通用標(biāo)記語言) 的結(jié)構(gòu)化、實現(xiàn)獨立和可描述等特點,同時對s g m l 作了極大簡化。 它還引入了超鏈接概念,使用尖括號作為標(biāo)記以便任何文本編輯器都可創(chuàng)建。伴隨著互 聯(lián)網(wǎng)的發(fā)展h t m l 成為了主要的信息發(fā)布形式。 h t m l 在互聯(lián)網(wǎng)的發(fā)展過程中起到了非常重要的作用,然而,電子商務(wù)、電子出版、 遠程教育等基于w e b 新興領(lǐng)域的全面興起使得傳統(tǒng)的w e b 資源更加復(fù)雜化、多樣化, 數(shù)據(jù)量的日趨龐大對網(wǎng)絡(luò)的傳輸能力也提出更高的要求。同時,人們對w e b 服務(wù)功能 的需求也達到更高的標(biāo)準(zhǔn),比如:用戶需要對w e b 進行智能化的語義搜索和對數(shù)據(jù)按 照不同的需求進行多樣化顯示等個性化服務(wù);公司和企業(yè)要為客戶創(chuàng)建和分發(fā)大量有價 值的文檔信息,以降低生產(chǎn)成本,以及對不同平臺、不同格式的數(shù)據(jù)源進行數(shù)據(jù)集成和 數(shù)據(jù)轉(zhuǎn)化等等,這些需求越來越廣泛和迫切。傳統(tǒng)的h t m l 由于自身特點的限制,不 能有效地解決上述問題。盡管h t m l 推出了一個又一個新版本,已經(jīng)有了腳本、表格 和幀等功能,但始終滿足不了不斷增長的需求。于是,可擴展標(biāo)記語言x m l ( e x t e n s i b l e m a r k u pl a n g u a g e ) 應(yīng)運而生。1 9 9 8 年2 月,全球互聯(lián)網(wǎng)聯(lián)盟w 3 c ( w o r l dw i d ew e b ) 推出 了x m l l 0 的正式版本,并正式推薦x m l 作為下一代互聯(lián)網(wǎng)數(shù)據(jù)的表示規(guī)范。 x m l 是s g m l 的一個簡化子集,它將s g m l 的豐富功能與h t m l 的易用性結(jié)合 到w e b 應(yīng)用中,以一種開放的自我描述方式定義了數(shù)據(jù)結(jié)構(gòu),在描述數(shù)據(jù)內(nèi)容的同時 能突出對結(jié)構(gòu)的描述,從而體現(xiàn)出數(shù)據(jù)之間的關(guān)系。x m l 同h t m l 兼容,具有平臺無 關(guān)性,同時又是一種真正的擴展語言,能以可讀的格式提供數(shù)據(jù)而又不受到表現(xiàn)形式的 限制,因此,x m l 的靈活、開放和基于標(biāo)準(zhǔn)的格式使它很快變成商業(yè)世界中用來交換 商業(yè)數(shù)據(jù)的最廣泛使用的語言,通過x m l 數(shù)據(jù)發(fā)布和交流信息已被企業(yè)廣泛采用。目 前,以x m l 為主導(dǎo)的一系列規(guī)范己成為新一代的w e b 標(biāo)準(zhǔn)。 x m l 憑借自身的優(yōu)越性,已經(jīng)逐漸成為網(wǎng)絡(luò)上數(shù)據(jù)表示和交換的標(biāo)準(zhǔn)。x m l 數(shù)據(jù) 在w e b 上廣泛流行,從企業(yè)報表、商業(yè)廣告到技術(shù)文檔,幾乎無所不在。如何有效地 管理x m l 數(shù)據(jù)成了w e b 應(yīng)用領(lǐng)域中一個亟待解決的重要問題。x m l 數(shù)據(jù)管理技術(shù)已 經(jīng)成為了x m l 技術(shù)研究內(nèi)容的關(guān)鍵組成部分,一直是x m l 技術(shù)研究中的熱點和焦點。 1 緒論 碩士論文 國外的許多大學(xué)、研究機構(gòu)和各種基金都已經(jīng)或正在開展x m l 數(shù)據(jù)處理技術(shù)的研究。 1 2 國內(nèi)外研究現(xiàn)狀 在國外,x m l 與關(guān)系數(shù)據(jù)庫的相關(guān)技術(shù)已經(jīng)引起了高??蒲性核吧虡I(yè)數(shù)據(jù)庫公 司的關(guān)注,其中有代表性的有美國s t a n f o r d 大學(xué)的l 0 r e 【3 1 】項目,l o r e 主要的研發(fā)重 點是為x m l 定義數(shù)據(jù)模型與查詢語言,支持x m l 數(shù)據(jù)的存儲與處理;還有加拿大多 倫多大學(xué)的x m l 搜索引擎t o x t 3 l 】;法國國家信息與自動化研究院( i n r i a ) 的x y l e m e 計劃的d y n a m i cd a t aw a r e h o u s ef o r t h ex m l d a t ao f t h ew e b ( w e b 上x m l 數(shù)據(jù)的動態(tài)數(shù) 據(jù)倉庫) 項臥3 1 】,該項目的設(shè)計目標(biāo)是將互聯(lián)網(wǎng)上的所有x m l 數(shù)據(jù)都整理裝入x m l 數(shù) 據(jù)倉庫。x m l 已經(jīng)成為近年來的s i g m o d 、v l d b 、i c d e 和p o d s 等數(shù)據(jù)庫頂級會議 的研究熱點。 目前,許多主流的數(shù)據(jù)庫廠商如微軟、o r a c l e 、i b m 和s y b a s e 等都在把x m l 支持 結(jié)合到其產(chǎn)品中,或者提供可在其數(shù)據(jù)庫中使用x m l 的工具,微軟的n e t 技術(shù)就是基 于x m l 的架構(gòu)上的。這些計算機業(yè)的巨頭都非??春脁 m l 的前景,大有得x m l 者得 天下之勢。 在我國,對x m l 也展開了初步的研究及應(yīng)用,于2 0 0 0 年1 2 月2 7 至2 8 日由國家高 技術(shù)發(fā)展計劃智能計算機主題專家組主持,在北京召開了“中國x m l 技術(shù)2 0 0 0 研討會, 研討會較為全面地反映了目前我國x m l 的研究水平。國內(nèi)相關(guān)研究則起始于新世紀(jì)之 初,一些大學(xué)及有實力的軟件公司、科研所都進行了相關(guān)的研究。如因科公司的因科 x m l 網(wǎng)關(guān)( l x g ) 成功實現(xiàn)了x m l 和傳統(tǒng)關(guān)系數(shù)據(jù)庫的實時轉(zhuǎn)化和交互,以及x m l 文 件和v o i c e x m l 、w m l 等之間的實時自動翻譯等;中科院軟件研究所的x m l 與關(guān)系數(shù) 據(jù)庫轉(zhuǎn)換系統(tǒng)x t r a n s 也實現(xiàn)了從x m l 文檔到關(guān)系數(shù)據(jù)庫數(shù)據(jù),以及從關(guān)系數(shù)據(jù)庫數(shù)據(jù) 到x m l 文檔的雙向轉(zhuǎn)換。目前我國對x m l 的研究取得了一定成果,但是仍然有很多 領(lǐng)域需要去開拓。 1 3 論文的主要內(nèi)容 本文在深入了解x m l 數(shù)據(jù)管理技術(shù)研究現(xiàn)狀的基礎(chǔ)上,詳細(xì)描述了基于關(guān)系數(shù)據(jù) 庫的x m l 數(shù)據(jù)管理系統(tǒng)的主要技術(shù),重點研究了x m l 的存儲、查詢以及索引技術(shù)。存 儲方面主要研究了基于d t d 的關(guān)系映射方法,查詢方面研究了x p a t h 和x q u e r y 兩種技 術(shù),索引方面重點研究了前序一后序節(jié)點標(biāo)號的方法。 本文的內(nèi)容組織如下: 第一章是緒論,主要介紹了x m l 的特點和發(fā)展現(xiàn)狀,以及x m l 數(shù)據(jù)管理技術(shù)的 研究意義。 第二章介紹了x m l 的基本概念和相關(guān)標(biāo)準(zhǔn),以及x m l 技術(shù)的相關(guān)應(yīng)用,這是實 2 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 現(xiàn)x m l 數(shù)據(jù)管理的基礎(chǔ)。 第三章詳細(xì)描述了幾種主要的x m l 數(shù)據(jù)管理技術(shù)。 第四章詳細(xì)描述了一個基于關(guān)系數(shù)據(jù)庫的x m l 數(shù)據(jù)管理系統(tǒng)的實現(xiàn)過程,實現(xiàn)了 對x m l 數(shù)據(jù)的存儲、恢復(fù)、更新和查詢等功能。 第五章對x m l 的索引技術(shù)進行了研究和探索,重點研究了前序一后序節(jié)點標(biāo)號法的 索引技術(shù),實現(xiàn)了對x m l 文檔進行編碼。 最后一章是對本文工作的總結(jié)和展望。 3 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 2x m l 預(yù)備知識 2 1x m l 基本概念 2 1 1n m l 的由來 1 9 6 9 年,m m 公司由g o l d f a r b 領(lǐng)導(dǎo)的研究項目組創(chuàng)建了通用置標(biāo)語言g m l ( g e l l c r a l m a r k u pl a n g u a g e ) ,用來編輯和格式化文本以及在子系統(tǒng)之間實現(xiàn)信息檢索。g m l 可 用于標(biāo)記任何數(shù)據(jù)集合的結(jié)構(gòu),是一種元語言( m e t a - l a n g u a g e ) ,能夠描述其他語言及 語法和詞匯。1 9 8 6 年l o 月,g m l 被國際標(biāo)準(zhǔn)化組織采納為國際性的數(shù)據(jù)存儲和交換標(biāo) 準(zhǔn),并被更名為“標(biāo)準(zhǔn)通用置標(biāo)語言 ( s g m l ) 。 1 9 8 9 年7 月起,w 3 c 組織6 0 多位精心挑選的s g m l 信息結(jié)構(gòu)專家專門成立了一 個s g m l 小組,提出了“網(wǎng)絡(luò)上的s g m l 計劃。該小組刪除了s g m l 中非核心的、未 被使用的和含義模糊的部分,剩下了短小精干的標(biāo)記工具,這就是x m l 。x m l 保留了 s g m l 8 0 的功能,而將其復(fù)雜程度降低到原來的2 0 。w 3 c 于1 9 9 8 年批準(zhǔn)了x m l 的1 0 版本。 2 1 2 x m l 語法 一個文檔稱為x m l 文檔,它必須是格式良好的,也就是說按照w 3 c 制定的x m l 規(guī)格標(biāo)準(zhǔn)語法或語義是正確的,格式不是良好的文檔不能被接收處理,瀏覽器無法正常 顯示。格式良好的x m l 文檔簡化了解析器的內(nèi)部代碼,加快了文檔解析速度。一個格 式良好的x m l 文檔由三個部分組成:可選的序言( p r o l o g ) ,包括注釋、處理指令和文 檔類型定義等;文檔的主體( b o d y ) ,由一個或多個元素組成,其形式為一個可能包含 字符數(shù)據(jù)的層次樹;可選的尾聲( e p i l o g ) ,其中內(nèi)容包括注釋、處理指令和緊跟后面的 空白。圖2 1 2 1 是一個格式良好的x m l 示例文檔。 文檔的第一行是一個x m l 聲明,x m l 聲明是x m l 處理指令的一種,x m l 文檔 中的處理指令以“ 標(biāo)識,一個x m l 文檔以一個x m l 聲明作為開始。x m l 聲明給出了x m l 文檔采用x m l 版本號,是否和外部d t d 配合使用,以及數(shù)據(jù)所采用 的編碼方式等信息。 文檔的第二行起是x m l 文檔的實質(zhì)內(nèi)容,即x m l 文檔所表示的數(shù)據(jù)。x m l 通過 元素來組織x m l 數(shù)據(jù),元素是x m l 文檔內(nèi)容的基本單元,x m l 元素包括標(biāo)記和字符 數(shù)據(jù)。一個元素包含一個起始標(biāo)記、一個結(jié)束標(biāo)記以及標(biāo)記之間的數(shù)據(jù)內(nèi)容。x m l 文 檔中有元素,屬性,文本等幾種基本的數(shù)據(jù)類型。此外,還有一些其他的結(jié)構(gòu)用以實現(xiàn) 一些特殊的功能,如x m l 指令等。一個元素的形式是: 數(shù) 據(jù)內(nèi)容 。其中數(shù)據(jù)內(nèi)容可以是元素的值,或者是其他元素,也可以是兩者的混 5 2 x m l 預(yù)各知識碩士論文 合。每個x m l 文檔有且僅有一個根元素,其他任何元素都是根元素的子孫,即都出現(xiàn) 在根元素的內(nèi)部。 圖2 1 2 1b o o k x m l 文檔示意圖 2 1 3x m l 文檔的結(jié)構(gòu) 完整的x m l 文檔包含物理結(jié)構(gòu)和邏輯結(jié)構(gòu),文檔的物理結(jié)構(gòu)和邏輯結(jié)構(gòu)均可適當(dāng) 嵌套。 1 ) x m l 文檔的物理結(jié)構(gòu)【1 】 在物理結(jié)構(gòu)方面,整個x m l 文檔由一系列稱為實體( e n t i t i e s ) 的存儲單元組成, 每個實體均包含一定的內(nèi)容并通過名字命名。實體按照樹型結(jié)構(gòu)組織,其根節(jié)點是文檔 實體( d o c u m e n te n t i t y ) ,包含整個x m l 文檔的內(nèi)容。文檔實體是個特定的實體,是 x m l 處理程序的起始工作點,但卻不指定名字且不指定處理程序如何定位。實體根據(jù) 所包含的內(nèi)容可分為解析實體( p a r s e de n t i t i e s ) 和非解析實體( u n p a r s e de n t i t i e s ) 兩類, 其中解析實體的內(nèi)容可通過其名字被其他實體引用( r e f e r e n c e ) ,其內(nèi)容是作為整個文 檔的一個完整性組成部分;而非解析實體則包含了非x m l 內(nèi)容的資源,x m l 對非解析 實體的內(nèi)容并沒有約束。 2 ) x m l 文檔的邏輯結(jié)構(gòu)【1 】 在邏輯結(jié)構(gòu)上,x m l 文檔由若干元素( e l e m e n t s ) 組成,每個元素均通過起始標(biāo)記 和結(jié)束標(biāo)記界定( 只有空元素例外,沒有結(jié)束標(biāo)記) 并由一個通用的標(biāo)識符命名,還可 包含一些屬性的說明。元素的定義包括對元素類型、屬性列表及相應(yīng)的約束條件的指定, 并可進一步說明下級子元素允許的類型。所有的屬性定義均采用名字一數(shù)值對的形式。 6 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 x m l 文檔包含混合的數(shù)據(jù)和標(biāo)記,標(biāo)記包括起始標(biāo)記、結(jié)束標(biāo)記、空元素標(biāo)記、實體 引用、字符引用、注釋、數(shù)據(jù)分節(jié)、文檔類型說明及處理指令。文檔的非標(biāo)記部分構(gòu)成 整個文檔的字符數(shù)據(jù)。x m l 處理程序?qū)傩灾祩魉偷缴蠈討?yīng)用進行有效性檢查之前必 須首先對屬性值進行規(guī)格化處理,即對實體的引用進行遞歸處理并對字符串參數(shù)中的空 格進行處理,然后將數(shù)值賦給屬性。 x m l 標(biāo)記的主要作用是描述x m l 文檔的存儲和邏輯結(jié)構(gòu)并說明其屬性,通過x m l 文檔的類型說明可定義邏輯結(jié)構(gòu)和存儲單元之間的約束。x m l 文檔的d t d 通過一定的 語法格式進行,可包含一個指向內(nèi)部或外部的標(biāo)記子集,并可以采用獨立文檔說明的方 式指定在涉及到外部標(biāo)記子集時文檔實體的缺省屬性以幫助x m l 處理程序工作。另外, 可選部分是文檔類型說明的外部子集中未包含在邏輯結(jié)構(gòu)中的部分,和外部文檔類型說 明子集一樣可包含若干說明、注釋、處理指令或內(nèi)嵌的部分。 2 2x m l 的相關(guān)標(biāo)準(zhǔn) 2 2 1d t d 和s c h e m a d t d ( d o c u m e n tt y p ed e f i n i f i o n ,文檔類型定義) 是一套關(guān)于標(biāo)記符的語法規(guī)則。 它是x m l l 0 版規(guī)格的一部分,是x m l 文件的驗證機制,屬于x m l 文件組成的一部分。 d t d 是一種保證x m l 文檔格式正確的有效方法,可以通過比較x m l 文檔和d t d 文 件來看文檔是否符合規(guī)范,元素和標(biāo)簽使用是否正確。個d t d 文檔包含:元素的定 義規(guī)則,元素間關(guān)系的定義規(guī)則,元素可使用的屬性,可使用的實體或符號規(guī)則。x m l 文件提供應(yīng)用程序一個數(shù)據(jù)交換的格式,d t d 正是讓x m l 文件能夠成為數(shù)據(jù)交換的標(biāo) 準(zhǔn),因為不同的公司只需定義好標(biāo)準(zhǔn)的d t d ,各公司都能夠依照d t d 建立x m l 文件, 并且進行驗證,如此就可以輕易的建立標(biāo)準(zhǔn)和交換數(shù)據(jù),這樣滿足了網(wǎng)絡(luò)共享和數(shù)據(jù)交 互。 x m ls c h e m a 是一種描述信息結(jié)構(gòu)的模型,用來定義x m l 文檔的文本結(jié)構(gòu)、數(shù)據(jù) 類型等x m l 文檔描述規(guī)則。它為一類文檔建立一個模式,規(guī)范了文檔中的標(biāo)記和文本 的可能組合形式。它不僅包括了d t d 所能實現(xiàn)的所有功能,而且它還提供了一系列的 新特色,大大彌補了d t d 的不足。x m ls c h e m a 本身就是x m l 文檔,使用標(biāo)準(zhǔn)x m l 語法,因此可直接用一般x m l 解析器對其進行語法分析,并且有強大、易用的擴展功 能;x m ls c h e m a 支持豐富的數(shù)據(jù)類型包括數(shù)字型、布爾型、整型、日期時間、u r i ( 統(tǒng) 一資源標(biāo)識符) 、十進制數(shù)等等,它允許對數(shù)據(jù)進行更嚴(yán)格的合法性檢查,而且還支持 由這些簡單的類型生成更復(fù)雜的類型;x m ls c h e m a 支持名字空間,保證了標(biāo)記的唯一 性,利用名字空間將文檔中特殊的節(jié)點與s c h e m a 說明相聯(lián)系,一個x m l 文檔可以有 多個對應(yīng)的s c h e m a 。 7 2 x m l 預(yù)各知識碩十論文 2 2 2x p a t h 和x q u e r y x p a t h 即為x m l 路徑語言( x m lp a t hl a n g u a g e ) 主要用于對文檔元素進行尋址,與 此同時,它也為字符串,數(shù)字和布爾操作提供了基本手段。之所以要引入x p a t h 的概念, 目的就是為了在匹配x m l 文檔結(jié)構(gòu)樹時能夠準(zhǔn)確地找到某一個節(jié)點元素??梢园褁 p a t h 比作文件管理路徑:通過文件管理路徑,可以按照一定的規(guī)則查找到所需要的文件;同 樣,依據(jù)x p a t h 所制定的規(guī)則,也可以很方便地找到x m l 文檔結(jié)構(gòu)樹中的任何一個節(jié) 點。x p a t h 將一個x m l 文檔視為一棵樹進行操作,為此x p a t h 定義了樹狀模型( t r e e m o d e l ) 。該模型僅僅是概念上的,并且不要求任何特定實現(xiàn)。該樹包含了七種節(jié)點類型, 分別為:根節(jié)點、元素節(jié)點、正文節(jié)點,屬性節(jié)點、命名空間節(jié)點、處理指令節(jié)點和注 釋節(jié)點。每種類型的節(jié)點都能被映射成一個字符串值。在默認(rèn)情況下,x p a t h 以文檔次 序( d o c u m e n to r d e r ) 遍歷文檔樹。 x q u e r y 是一種功能強大的數(shù)據(jù)查詢語言,它能夠從x m l 文檔中選擇并抽取出復(fù) 雜的模式,進而把查詢結(jié)果重構(gòu)成用戶需要的新的x m l 文件結(jié)構(gòu)。它極有可能成為 x m l 中的s q l ,因為s q l 語言是對建立在關(guān)系代數(shù)基礎(chǔ)上的數(shù)據(jù)表進行操作的語言,而 x q u e r y 則是對建立在x q u e r y 數(shù)據(jù)模型上的x m l 數(shù)據(jù)進行查詢的語言,并且它還是一 種書寫格式自由的語言。 x q u e r y 是基于q u i l t l 9 語言提出的,綜合了s q l 、o q l 、x m l q l 、x q l 及l(fā) o r e l 等諸多語言的特點。其語法采用范式表達。一個x q u e r y 查詢由查詢序言和查詢體組成。 查詢序言是一系列聲明和定義,建立了查詢處理的環(huán)境。主要包括命名空間聲明、模式 導(dǎo)入、x m l s p a c e 聲明、缺省的c o l l a t i o n 以及函數(shù)定義。查詢體是待求值的一段查詢表達 式,是x q u e r y 的主體部分。從x q u e r y 語言的語法構(gòu)成可以看出x q u e r y 具有以下特點: ( 1 ) x q u e r y 是一種典型的函數(shù)語言。x q u e r y 建立在被成為查詢的表達式之上,而不 是建立在語句之上。在該語言中,除了查詢序言之外的每個構(gòu)造都是一個表達式。表達 式能夠被任意組合,并允許嵌套。只要類型相符,一個表達式的結(jié)果可以作為另一個表 達式的輸入。( 2 ) x q u e r y 是一種強類型語言。x q u e r y 的類型系統(tǒng)是基于x m ls c h e m a 的,可以從一個或幾個x m ls c h e m a 中導(dǎo)入類型,然后x q u e r y 能基于這些類型進行查 詢運算。此外,x q u e r y 還支持靜態(tài)類型分析,這意味著系統(tǒng)能夠針對查詢的類型執(zhí)行 某些推斷,這種推斷是建立在查詢輸入的類型基礎(chǔ)上的。靜態(tài)類型分析能夠較早地檢測 錯誤,可以成為某些形式化的基礎(chǔ)。 2 2 3s a x 和d o m s a x 的全稱是s i m p l ea p i sf o rx m l ,也即x m l 簡單應(yīng)用程序接口。s a x 并不是 由w 3 c 官方所提出的標(biāo)準(zhǔn),可以說是“民間 的事實標(biāo)準(zhǔn)。實際上,它是一種社區(qū)性 質(zhì)的討論產(chǎn)物,是x m ld e v 郵件列表中的成員根據(jù)應(yīng)用的需求自發(fā)定義的一套對 8 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 x m l 文檔進行操作的接口規(guī)范。s a x 成功的一個主要原因是初始的規(guī)范,并為許多流 行的x m l 解析器提供了前端驅(qū)動。其它解析器提供商如m m 、s u n 和o r a c l e 等很快在它 們的解析器中集成了最早的s a x 接口,這樣它們的產(chǎn)品就可以和現(xiàn)有的應(yīng)用程序一起 運行。最終的s a x 規(guī)范是根據(jù)j a v a 接口書寫的。 s a x 提供了一種對x m l 文檔進行順序訪問的模式,這是一種快速讀寫x m l 數(shù)據(jù) 的方式。當(dāng)使用s a x 分析器對x m l 文檔進行分析時,會觸發(fā)一系列事件,并激活相應(yīng) 的事件處理函數(shù),從而完成對x m l 文檔的訪問,所以s a x 接口也被稱作事件驅(qū)動接口。 用解析器讀取文檔時,當(dāng)解析器發(fā)現(xiàn)標(biāo)簽時就會告知程序它發(fā)現(xiàn)的標(biāo)簽,包括會告知它 何時發(fā)現(xiàn)了一個開始標(biāo)簽,何時發(fā)現(xiàn)了一些特征數(shù)據(jù),以及何時發(fā)現(xiàn)了一個結(jié)束標(biāo)簽, 這就叫做事件驅(qū)動接口,因為解析器告知應(yīng)用程序它遇到有含義的事件。事件驅(qū)動是用 來編寫應(yīng)用程序以響應(yīng)發(fā)生的如鼠標(biāo)點擊等事件,事件驅(qū)動解析器就是一旦事情要開始 發(fā)生,你不需要調(diào)用解析器,而是解析器調(diào)用程序。s a x 接口之所以叫做簡單應(yīng)用程序 接口,是因為這個接口確實非常簡單,絕大多數(shù)事情分析器都沒有做,而是需要應(yīng)用程 序自己去實現(xiàn)。它的基本原理是由接口的使用者提供符合定義的處理器,x m l 分析時 遇到特定的事件,就去調(diào)用處理器中特定事件的處理函數(shù)。s a x 接口規(guī)范是x m l 分析 器和x m l 處理器提供給x m l 更底層的接口,它能為應(yīng)用提供較大的靈活性。 d o m 文檔對象模型( d o c u m e n to b j e c tm o d e l ,文檔對象模型) 是基于樹型結(jié)構(gòu)的a p i , 是由w 3 c 制定的標(biāo)準(zhǔn)接口規(guī)范。d o m 依據(jù)x m l 文檔的結(jié)構(gòu)將其轉(zhuǎn)換為樹型結(jié)構(gòu)的文 檔對象模型,用戶通過對該對象模型的訪問,可以動態(tài)地創(chuàng)建文檔,遍歷文檔結(jié)構(gòu),對 x m l 文檔中的數(shù)據(jù)進行修改、移動、刪除和插入等操作。之所以要定義這樣一個接口, 是因為如果在使用x m l 數(shù)據(jù)時沒有一個統(tǒng)一的接口,每個程序員就要去處理x m l 語 法細(xì)節(jié),那些x m l 的語法分析器也必然有一個接口讓程序員通過它訪問x m l 數(shù)據(jù)。 如果所有語法分析器的接口都不相同,開發(fā)就必須針對某一個分析器,當(dāng)換了另一個分 析器時,就不得不重寫程序。正如數(shù)據(jù)庫有標(biāo)準(zhǔn)的o d b c j d b c 這樣的接口規(guī)范一樣, 要做x m l 應(yīng)用開發(fā),就需要有一個統(tǒng)一的x m l 數(shù)據(jù)接口- d o m 。x m ld o m 的設(shè)計 概念為,將待操作的x m l 文件放入x m ld o m 樹對應(yīng)的各種節(jié)點之中,也就是當(dāng)用 d o m 來操作x m l 文件時,x m l 文件中所有的內(nèi)容都變成了x m ld o m 樹上的一個節(jié) 點。 d o m 分析器是把整個x m l 文檔轉(zhuǎn)化成d o m 樹放在了內(nèi)存中,因此應(yīng)用程序可以 隨時對d o m 樹中的任何一部分進行訪問與操作,沒有訪問與操作次數(shù)以及文檔大小的 限制,并且可以通過修改文檔樹,進而修改x m l 文檔。但當(dāng)x m l 文檔比較大或者文 檔結(jié)構(gòu)比較復(fù)雜時,對內(nèi)存的需求就比較高且耗時。所以d o m 分析器對機器性能的要 求比較高,實現(xiàn)效率不十分理想。不過,由于d o m 分析器的樹結(jié)構(gòu)的思想與x m l 文 檔的結(jié)構(gòu)相吻合,而且通過d o m 樹機制很容易實現(xiàn)隨機訪問,因此d o m 分析器有很 9 2 x m l 預(yù)備知識碩士論文 廣泛的使用價值。s a x 分析器與d o m 不一樣,它在對x m l 文檔進行分析時,觸發(fā)一 系列的事件,應(yīng)用程序通過事件處理函數(shù)實現(xiàn)對x m l 文檔的訪問,但不能處理任意大 小的x m l 文檔。由于事件觸發(fā)本身是有時序的,因此s a x 分析器提供的是一種x m l 文檔的順序訪問機制,不支持對文件的隨意存取,并且只能讀取x m l 文檔內(nèi)容,而不 能修改,開發(fā)上比較復(fù)雜,需要自己來實現(xiàn)事件處理器。對程序設(shè)計人員而言,可以用 s a x 建立自己的x m l 文檔模型。因此,s a x 和d o m 相比顯得更靈活,有自己獨特的 優(yōu)點。 基于對s a x 和d o m 的分析與比較,它們有不同應(yīng)用領(lǐng)域和發(fā)展前景:( 1 ) s a x 適 合處理下面的問題:對大型文件進行處理;只需要文件的部分內(nèi)容,或者只需要從文件 中得到特定信息。( 2 ) d o m 適合處理下面的問題:需要對文件進行修改;需要隨機對文 件進行存取,例如x s l t 解析器。隨著網(wǎng)絡(luò)編程技術(shù)的發(fā)展和x m l 的廣泛應(yīng)用,s a x 技術(shù)與d o m 技術(shù)憑借其各自的優(yōu)勢將被業(yè)內(nèi)人事廣泛地應(yīng)用到今后的應(yīng)用程序編寫 中,它們將會伴隨x m l 技術(shù)的發(fā)展而不斷地發(fā)展和完善。 2 3 本章小結(jié) 本章主要介紹了x m l 的基本概念、語法和一些相關(guān)技術(shù)標(biāo)準(zhǔn),如d t d 和s c h e m a , x p a t h 和x q u e r y 、s a x 和j d o m 等。概括地說,d t d 和x m ls e h e m a 是用來表述x m l 的內(nèi)容和結(jié)構(gòu)的,規(guī)定了x m l 文檔中能出現(xiàn)什么、不能出現(xiàn)什么和以哪種方式出現(xiàn); x p a t h 用來定位文檔中的節(jié)點,是其它很多標(biāo)準(zhǔn)的基礎(chǔ):x q u e r y 是w 3 c 推薦的基于 x m l 的查詢語言;s a x 和d o m 都是用來解析x m l 文檔的規(guī)范。以上這些內(nèi)容是進行 x m l 數(shù)據(jù)管理的基礎(chǔ)。 1 0 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 3x m l 數(shù)據(jù)管理技術(shù) 目前x m l 數(shù)據(jù)的存儲格式可以分為四種:文本文檔格式,對象類模式,關(guān)系表模 式和為x m l 數(shù)據(jù)專門設(shè)計的存儲結(jié)構(gòu)3 1 1 。對應(yīng)不用的存儲策略,有著不同的x m l 數(shù) 據(jù)管理技術(shù),它們分別是基于文件系統(tǒng)的x m l 管理技術(shù),基于面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的 x m l 管理技術(shù):基于關(guān)系數(shù)據(jù)庫系統(tǒng)的x m l 管理技術(shù)以及所謂的n a t i v ex m l 數(shù)據(jù)管 理技術(shù)矧。 3 1 基于文件系統(tǒng)的管理技術(shù) 3 1 1 基于文件系統(tǒng)的管理技術(shù)的概念 x m l 數(shù)據(jù)的一般表現(xiàn)形式是文本文檔,存儲于文件系統(tǒng)中。因此管理x m l 數(shù)據(jù)的 最簡單而又直接的方法就是直接將它們存儲于文件系統(tǒng)中,基于文件系統(tǒng)進行x m l 數(shù) 據(jù)的管理與查詢操作。在這種方式中,x m l 數(shù)據(jù)的訪問入口是文件系統(tǒng)提供的句柄。 目前有三種查詢方法是基于這種存儲方式的:基于信息檢索技術(shù)的關(guān)鍵詞查詢、采用 x s l t 語言的文檔格式轉(zhuǎn)換形式的查詢以及用戶定制的基于d o m 或s a x 接口的查詢。 3 1 2 基于文件系統(tǒng)的管理技術(shù)的原理 基于文件系統(tǒng)的x m l 管理系統(tǒng)的管理方式如圖3 1 2 1 所示。x m l 文檔被直接存 儲到文件系統(tǒng)中,借助文件系統(tǒng)的管理技術(shù)來查詢x m l 數(shù)據(jù)。 文件系統(tǒng) 圖3 1 2 1 基于文件系統(tǒng)的x m l 數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)圖 3 x m l 數(shù)據(jù)管理技術(shù)碩士論文 基于文件系統(tǒng)的x m l 管理方式的優(yōu)點是:存儲方便,不需要任務(wù)額外操作;信息 檢索技術(shù)可以直接應(yīng)用;可以使用基于d o m 或s a x 的工具。缺點是:沒有存儲控制; 不能為結(jié)構(gòu)化查詢提供支持;瓜( i n f o r m a t i o nr e t r i e v a l ,信息檢索) 方法查詢功能簡單; d o m 方式無法支持大文檔查詢;每查詢一次都要重新解析。因此,對于大規(guī)模的x m l 數(shù)據(jù)存儲與管理,基于文件系統(tǒng)的方法是不適用的。 3 2 基于對象數(shù)據(jù)庫的管理技術(shù) 基于對象數(shù)據(jù)庫的管理技術(shù)是使用對象數(shù)據(jù)庫來存儲和管理x m l 數(shù)據(jù)。o d m g 標(biāo) 準(zhǔn)為面向?qū)ο髷?shù)據(jù)庫定義了對象模型( o b j e c tm o d e l ) ,對象定義語言( o b j e c td e f i n i t i o n l a n g u a g e ,o d l ) ,對象操作語言( o b j e c em a n i p u l a t i o nl a n g u a g e ,o m l ) 和對象查詢語 言( o b j e c tq u e r yl a n g u a g e ,o q l ) 。o q l 語言提供了對于復(fù)雜查詢的支持,包括簡單路 徑表達式查詢以及嵌套查詢等。因此,一些系統(tǒng)采用對象數(shù)據(jù)庫系統(tǒng)管理x m l 數(shù)據(jù)。 文獻n 1 提出了兩種基于對象數(shù)據(jù)庫的x m l 數(shù)據(jù)存儲映射技術(shù)。第一種是用不變的 o d m go d l 模式存儲x m l 數(shù)據(jù),模式類似于x m l 文檔對象模型( d o m ) 。在該模型 中,e l e m e n t 類型被分為兩類:t a g 與p c d a t a ,分別對應(yīng)于普通元素節(jié)點和文本節(jié)點; a t t r i b u t e 類型有四種,分別為c d a t a 、i d r e f ,i d 和i d r e f 。這種方法適合于無模式 的x m l 數(shù)據(jù)。第二種方法則把每一種x m l 元素類型映射為一個對象模型,x m l 元素 之間的關(guān)系使用o d m g 提供的類之間的聯(lián)系來實現(xiàn),適用于處理有模式的x m l 數(shù)據(jù)。 雖然對象數(shù)據(jù)庫模型以其復(fù)雜類型支持和豐富的查詢語義,使得它在表示與查詢x m l 數(shù)據(jù)上有著天然的優(yōu)勢,然而商用對象數(shù)據(jù)庫的技術(shù)還沒有得到廣泛的認(rèn)可和應(yīng)用,技 術(shù)發(fā)展得并不是很成熟,特別是對大規(guī)模數(shù)據(jù)的復(fù)雜查詢能力還有欠缺。 3 3n a t i v ex m l 數(shù)據(jù)管理技術(shù) 3 3 1n a t i v ex m l 數(shù)據(jù)管理技術(shù)的概念 作為一種新的數(shù)據(jù)格式,x m l 數(shù)據(jù)有著與關(guān)系型數(shù)據(jù)和對象數(shù)據(jù)都不同的性質(zhì), 因此專門為x m l 數(shù)據(jù)設(shè)計存儲模型與索引技術(shù),研究特定的查詢處理技術(shù)以及查詢優(yōu) 化策略成為目前的一個技術(shù)熱點。這樣的x m l 數(shù)據(jù)管理系統(tǒng)被稱為n a t i v ex m l 數(shù)據(jù) 庫系統(tǒng)。l o r e 以及t a m i n o 等都是這樣的x m l 數(shù)據(jù)庫系統(tǒng)。 3 3 2n a t i v ex m l 數(shù)據(jù)管理技術(shù)的原理 n a t i v ex m l 數(shù)據(jù)管理技術(shù)的結(jié)構(gòu)如圖3 2 2 1 所示。x m l 數(shù)據(jù)文檔以某種模式存儲 于x m l 數(shù)據(jù)庫中,x m l 數(shù)據(jù)查詢由x m l 查詢處理器直接處理,不需要任何形式的翻 譯與轉(zhuǎn)換操作,查詢結(jié)果本身就是x m l 數(shù)據(jù),可以直接發(fā)布。 1 2 碩士論文基于x m l 的數(shù)據(jù)管理技術(shù)的研究 。x m l 3 c 檔山 用戶查詢 查詢結(jié)果) t 、 j l r x m l 存儲管理器查詢處理器 i工 i 編程接口 i n a t i v e 刪庫刁 圖3 3 2 1n a t i v ex m l 數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)圖 3 4 基于關(guān)系數(shù)據(jù)庫的管理技術(shù) 3 4 1 基于關(guān)系數(shù)據(jù)庫的管理技術(shù)的概念 基于關(guān)系數(shù)據(jù)庫的x m l 數(shù)據(jù)管理系統(tǒng)就是要將x m l 數(shù)據(jù)存儲在關(guān)系數(shù)據(jù)庫系統(tǒng) 中,然后借助關(guān)系數(shù)據(jù)庫系統(tǒng)的成熟、完備的技術(shù)實現(xiàn)對x m l 數(shù)據(jù)的管理。這種x m l 數(shù)據(jù)管理系統(tǒng)的基礎(chǔ)平臺是關(guān)系數(shù)據(jù)庫系統(tǒng)。系統(tǒng)的主要設(shè)計思想是:首先,利用x m l 文檔模式信息設(shè)計關(guān)系表結(jié)構(gòu)。然后,解析x m l 文檔,結(jié)合模式信息,將x m l 文檔 的內(nèi)容分別存儲到對應(yīng)的關(guān)系表中。這使得查詢操作不需要再訪問x m l 文檔。完全依 賴于關(guān)系數(shù)據(jù)庫系統(tǒng)。最后,利用x m l 文檔的模式信息將得到的查詢結(jié)果構(gòu)建成x m l 文檔格式。 根據(jù)生成關(guān)系模式的過程不同,基于關(guān)系數(shù)據(jù)庫的x m l 管理方式可以分為兩大類。 第一種方式中,與x m l 數(shù)據(jù)相關(guān)的關(guān)系模式是從x m l 數(shù)據(jù)相對應(yīng)的d t d 信息中提取 的,具有不同d t d 定義的文檔所對應(yīng)的關(guān)系模式也是不同的,這樣的方法被稱為依賴 于文檔( d o c u m e n t d e p e n d e n t ) 的方法。另一種方式中,由于x m l 數(shù)據(jù)可以被看作是 一棵文檔樹,所以可以從如何使用關(guān)系模式描述樹結(jié)構(gòu)入手,開發(fā)新的x m l 存儲技術(shù), 這種方法被稱為獨立于文檔( d o c u m e n t - i n d e p e n d e n t ) 的方法。在獨立于文檔的方法中, x m l 文檔的d t d 信息是不需要的,任何格式的x m l 文檔對應(yīng)的關(guān)系模式也都是一樣 的。由于依賴于文檔的方法是基于x m l 文檔的邏輯結(jié)構(gòu)來構(gòu)建關(guān)系模式,而獨立于文 1 3 3 x m l 數(shù)據(jù)管理技術(shù)碩士論文 檔的方法是基于x m l 數(shù)據(jù)的樹型結(jié)構(gòu)建關(guān)系模式,因此這兩種方法也被分別成為結(jié)構(gòu) 映射( s t m c t u r e m a p p i n g ) 方法和模型映射( m o d e l m a p p i n g ) 方法 2 3 1 。 3 4 2 基于關(guān)系數(shù)據(jù)庫的管理技術(shù)的原理 基于關(guān)系數(shù)據(jù)庫的x m l 管理系統(tǒng)的結(jié)構(gòu)如圖3 4 2 1 所示。 圖3 4 2 1 基于關(guān)系數(shù)據(jù)厙的x m l 管理系統(tǒng)結(jié)構(gòu)圖 基于關(guān)系數(shù)據(jù)庫管理x m l 的基本過程描述如下: 1 ) 將x m l 數(shù)據(jù)轉(zhuǎn)化為關(guān)系模式存儲到關(guān)系表中。 2 ) 利用模式信息和統(tǒng)計信息將采用x m l 模型的查詢( x q u e r y 或x p a t h ) 轉(zhuǎn)換成 s q l 語句。 3 ) 將轉(zhuǎn)換后的s q l 語句進行優(yōu)化,然后執(zhí)行。 4 ) 將執(zhí)行結(jié)果轉(zhuǎn)換并重構(gòu)為x m l 格式提供給用戶。 3 4 3 結(jié)構(gòu)映射方法 結(jié)構(gòu)映射方法就是使用x m l 數(shù)據(jù)的d t d 信息產(chǎn)生存儲x m l 文檔的關(guān)系模式。這 是一種依賴于文檔的方法,是由s h a n m u g a s u n d a r a m 等人提出。結(jié)構(gòu)映射方法分為三種: b a s i c i n l i n i n g ,s h a r e d i n l i n i n g 和h y b r i d i n l i n i n g t 3 1 1 。無論是哪種方法,在進行x m l 數(shù) 據(jù)存儲映射之前要做的工作都是簡化d t d 模式。由于d t d 內(nèi)的一些語法是與x m l 存 儲無關(guān)的,例如在d t d 中定義了 這樣一個復(fù)雜的元 素,對于x m l 的存儲而言只需要知道a 的孩子節(jié)點有可能是類型b ,c ,d 和e 就足夠 了。因此在映射之前,需要將d t d 內(nèi)的層次嵌套關(guān)系簡化,可參見文獻 2 9 1 。 1 4 碩士論文 基于x m l 的數(shù)據(jù)管理技術(shù)的研究 b a s i c - i n l i n i n g 方法的原則是在存儲一個元素節(jié)點的時候,盡可能多地將這個元素的 后代節(jié)點存儲在一個數(shù)據(jù)表中,例如形如直線而無分支的數(shù)據(jù)路徑上的節(jié)點。這些后代 節(jié)點作為祖先表中的屬性域而存儲,而節(jié)點之間的嵌套關(guān)系則采用關(guān)系表之間的外鍵來 解決。 在s h a r e d i n l i n i n g 映射方式下,為以下三種d t d 節(jié)點生成獨立的關(guān)系:入讀為o 的節(jié)點,即根節(jié)點和入度大于1 的元素節(jié)點;節(jié)點的孩子節(jié)點( 將值集元素作為單獨的 關(guān)系保存) ;出現(xiàn)在環(huán)上的入度為1 的節(jié)點。生成的關(guān)系以節(jié)點的元素類型命名,d t d 中其他節(jié)點被內(nèi)聯(lián)為其最近祖先節(jié)點對應(yīng)的表中,作為某個屬性而存在。為了保存邊信 息,每個關(guān)系表中存儲被映射節(jié)點的標(biāo)識,并增加其父節(jié)點的標(biāo)識。 h y b r i d i n l i n i n g 與s h a r e d i n l i n i n g 的不同之處在于僅將邊指向的節(jié)點和環(huán)路上的節(jié) 點存儲為單獨的關(guān)系,而其他節(jié)點被內(nèi)嵌入祖先節(jié)點中。入度為l 的節(jié)點根據(jù)其父節(jié)點 而被分割到不同的關(guān)系表中。 3 4 4 模型映射方法 1 ) 模型映射的主要方法 模型映射方法是目前在數(shù)據(jù)庫中分解存儲x m l 的一類重要方法。目前,x m l 模型 主要有x p a t h , e d g ed o m 、i n f o s c t 等幾種【3 7 1 。在基于模型的映射方法中,x r e l , x p a r e n t 是基于x p a t h 的模型映射方法,e d g e 是基于e d g e 的模型映射方法。下

溫馨提示

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

評論

0/150

提交評論