日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

基于關系數(shù)據(jù)庫的一種新的XML數(shù)據(jù)管理技術研究

出處:王建仁,徐文靜 發(fā)布于:2011-08-30 22:41:07

  摘  要: 設計了一種新的基于XML的關系數(shù)據(jù)映射索引技術,利用域關系樹解決了DTD的不足,通過改進的XML Schema算法保持了關系數(shù)據(jù)間的語義約束,并在映射的XML標簽樹上建立了RPNL索引,實現(xiàn)了查詢代價的化O(n)。

  XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。Xml是Internet環(huán)境中跨平臺的,依賴于內(nèi)容的技術,是當前處理結(jié)構(gòu)化文檔信息的有力工具。擴展標記語言XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數(shù)據(jù)要占用更多的空間,但XML極其簡單易于掌握和使用。

  1998年,XML被W3C推薦為Web數(shù)據(jù)交換的標準,標志著數(shù)據(jù)庫系統(tǒng)進入了XML網(wǎng)絡時代。但目前使用廣泛的仍然是關系數(shù)據(jù)庫,因此,關系數(shù)據(jù)向XML文檔的異構(gòu)映射及其優(yōu)化索引就成為Internet數(shù)據(jù)集成技術的焦點之一。通過分析映射索引現(xiàn)狀,本文提出了一種新的基于XML的關系數(shù)據(jù)映射索引技術。針對DTD的不足,在域關系樹的基礎上設計了一套改進的XML Schema算法,并在映射的XML標簽樹上構(gòu)造了RPNL索引,使基于RPNLTree的查詢代價降至O(n)。

  1  基于XML的關系數(shù)據(jù)映射技術

  XML 是SGML 的子集,它是一種標記性語言,同時也可以作為派生其它置標語言的元語言,允許使用者自己定義標識。和HTML相比, XML是面向內(nèi)容的,它具有更多的結(jié)構(gòu)和更多的語義,具有形式與內(nèi)容分離的特點,同時, XML所擁有的良好的可擴展性、自描述性、自相容性以及跨文種等優(yōu)點,又使得它非常適于web上的數(shù)據(jù)表示、交換與發(fā)布。

  目前,對關系模型向XML DTD文檔的轉(zhuǎn)換研究比較成熟。但DTD模式保守,數(shù)據(jù)類型有限,特別是異構(gòu)過程中完全忽略了關系數(shù)據(jù)間語義約束的保持,沒有做到實體聯(lián)系的完整性映射。針對上述不足,本文在域關系樹的基礎上設計了一套改進的基于標準XML Schema的關系數(shù)據(jù)映射算法。

  1.1 域關系樹

  定義1 域D∷=L{e|D{e,|D}*}。其中,e表示結(jié)點;L表示路徑;{ }表示域空間。

  層:域根層,有且僅有一個虛根結(jié)點Root。

  第二層:域表層,由表Student、Course及箭頭Taking和Taken_by組成,反映了選課關系。其域關系表達式為:Student.takingCourse,Course.taken_byStudent,Student.taking→Course.taken_by。相應的語義解釋為:如果沿著Student邊到達結(jié)點α并且結(jié)點α有Taking邊通向結(jié)點β,則結(jié)點β一定有一條Taken_by邊通向結(jié)點α。

  第三層:域?qū)傩詫樱總€結(jié)點均標識其域表層直接父結(jié)點的一個屬性。

  1.2 基于域關系樹的XML Schema映射算法

  嚴格結(jié)構(gòu)化的關系模型向具有明顯層次性的XML半結(jié)構(gòu)化模型映射過程中,借助于域關系樹的“中間件”作用,極大地簡化了異構(gòu)的處理。算法中XML術語的父/子關系是關系術語的子/父關系。

  算法1:以Student為例的算法過程

  (1)設置域?qū)傩栽亍R来螢橛驅(qū)傩詫咏Y(jié)點創(chuàng)建域?qū)傩栽豏i-AttType及其屬性類型。如果值可以取NULL,則令其標識nillable等于ture。

  <complextype name=″Student-AttType″>

  <sequence>

  <ELEMENT name=″Sno″ type=″string″/>

  <ELEMENT name=″Sname″ type=″string″ nillable=″ture″/>

  </sequence>

  </complextype>

  (2)設置域表元素。分別為域表層實體創(chuàng)建域表元素Ri-TabType,并令其域空間內(nèi)的域?qū)傩栽仡愋蜑閤sd:Ri-AttType。同時設置域表元素minOccurs屬性為0,maxOccurs屬性為unbounded。

  <complextype name=″Student-TabType″>

  <sequence>

  <ELEMENT name=″Student″ type=″xsd:Student-

  AttType″ minOccurs=″0″ maxOccurs=″unbounded″/>

  </sequence>

  </complextype>

  (3)創(chuàng)建庫元素。首先在XML Schema文檔中設置庫元素Ri-DB,然后依次添加庫表元素Ri-Tab及其域空間內(nèi)的元素類型xsd:Ri-TabType。

  <ELEMENT name=″Student-DB″>

  <complextype>

  <sequence>

  <ELEMENT name=″Student-Tab″ type=″xsd:Student-TabType″/>

  </sequence>

  </complextype>

  (4)設置主/外鍵。如果域?qū)傩詫咏Y(jié)點是主屬性,則要插入主鍵標識Ri-PriKey。對于域表層實體間的聯(lián)系則通過設置外鍵來完成,并指明其參照域xsd:Ri-ForKey。在域空間內(nèi),分別為主/外鍵添加selector xpath和field xpath。

  <key name=″Student-PriKey″>

  <selector xpath=″xsd:Student-Tab/xsd:Student″/>

  <field xpath=″@Sno″/>

  </key>

  <keyref name=″Course-Cno″ refer=″xsd:Student-ForKey″>

  <selector xpath=″xsd:Course-Tab/xsd:Course″/>

  <field xpath=″@Cno″/>

  </key>

  此算法已經(jīng)在一個網(wǎng)上選課系統(tǒng)中得到了驗證,該系統(tǒng)的后臺數(shù)據(jù)庫采用Oracle。

  2   基于XML的關系數(shù)據(jù)RPNL索引技術

  目前已經(jīng)提出的XML數(shù)據(jù)庫索引機制有基于Trie樹的索引Index Fabric、Stanford大學Lore系統(tǒng)的DataGuides、XISS系統(tǒng)索引方案、基于DOM模型的索引、基于共享根結(jié)點的索引Rist、基于結(jié)構(gòu)的Join索引和基于路徑的索引等。其中較具代表性的是基于結(jié)構(gòu)的Join索引和基于路徑的索引。但這二種方法的不足之處是查詢處理代價高于O(n)。因此,本文在XML標簽樹的基礎上設計了RPNL索引,將查詢代價控制在O(n)。

  2.1 XML標簽樹

  圖2所示的XML標簽樹是利用XML Schema的樹狀層次性,借鑒半結(jié)構(gòu)化模型OEM的表示形式建立的。其構(gòu)造方法如下:

  (1)每一個域?qū)傩栽胤謩e對應于XML標簽樹上的一個結(jié)點,帶方框的$表示父結(jié)點,圓圈表示子結(jié)點。

  (2)在XML標簽樹中,元素-元素、元素-屬性之間的父-子關系均用相應名字的邊來標識。

  2.2 基于XML標簽樹的RPNL索引

  定義3 形如(L1D1L2D2……LnDn)的字符串稱為數(shù)據(jù)路徑。(L1L2……Ln)稱為語義路徑,(D1D2……Dn)稱為數(shù)據(jù)值。其中Li和Di(i=1,2,……n)分別表示標簽樹的邊和結(jié)點。

  分析圖2,結(jié)點1、結(jié)點2具有相同的語義路徑{Student.Sno},結(jié)點5、結(jié)點6具有相同的語義路徑{Student.Course.Cname}……由此可知:XML標簽樹中存在若干具有不同值但具有相同語義路徑的結(jié)點,即同一語義路徑可對應多個不同的數(shù)據(jù)值。于是,將具有相同語義路徑不同數(shù)據(jù)值的結(jié)點聚合在同一結(jié)點中,并在盡可能少的步驟內(nèi)快速定位到目的結(jié)點,便是索引優(yōu)化的關鍵技術。本文提出的基于XML標簽樹的索引,在語義路徑上特別設置了結(jié)點的RPNL,同時利用Hash表保存索引結(jié)點的RPNL指針。實驗證明,此方法能夠?qū)㈨樞虿檎业拇鷥r由O(n2)降至加了RPNL索引的O(n)。

  定義4 設XML標簽樹中結(jié)點A的數(shù)據(jù)路徑為αβ,其中α為基本單元。若存在結(jié)點B的數(shù)據(jù)路徑β,則有一指針自結(jié)點A指向結(jié)點B,該指針稱為結(jié)點A的RPNL。

  定義5 RPNLTree中,聚合在同一結(jié)點A內(nèi)的具有相同語義路徑不同數(shù)據(jù)值的結(jié)點集,稱為結(jié)點A的擴展集。

  根據(jù)定義4、定義5并結(jié)合圖3(a),給出了在XML標簽樹上構(gòu)造RPNL索引(圖3(b))的算法,稱為算法2。

  算法2:在XML標簽樹上構(gòu)造RPNL索引

  約定: (1)p[i]←Li1Li2……Lin表示結(jié)點i的語義路徑(i=1,2,……n)。

  (2)一層虛根Root的RPNL為NULL,二層子結(jié)點的RPNL均指向Root。

  Input: TAGTree   Output: RPNLTree

  算法步驟:

  (1)初始化。RPNLTree中有且僅有一個根{$Root},令指針p←RPNLTree.root。

  (2)從Root開始前序遍歷TAGTree,首先得到邊Student及結(jié)點{$1},在RPNLTree中創(chuàng)建結(jié)點{$1},并使p所指結(jié)點Root有一條邊Student指向結(jié)點{$1}。由于{$1}是根結(jié)點的孩子,所以需創(chuàng)建一條由{$1}指向Root的RPNL,令指針p指向{$1}。

  (3)繼續(xù)遍歷TAGTree,得邊Course及結(jié)點A(擴展集為{$3}),并使Course自{$1}(由p所指)指向A。

  (4)判斷p所指結(jié)點是否存在RPNL。若存在,則訪問RPNL所指結(jié)點N(當前是Root),并創(chuàng)建新邊Course和新結(jié)點B(擴展集為{$3}),使Course自N指向{$3},然后令A的RPNL指向B。

  (5)檢查N中是否有RPNL指向下一個結(jié)點。如果有,使N標記該新結(jié)點,依次重復(3)(4),直到?jīng)]有可以創(chuàng)建RPNL的新結(jié)點并且N的RPNL指向根結(jié)點,中止遍歷所得邊和結(jié)點(當前是Course和{$3})。

  (6)令p指向結(jié)點B,即遍歷所得當前結(jié)點路徑(Student.Course)所對應RPNLTree結(jié)點。

  圖4是依據(jù)算法2對圖2中XML標簽樹構(gòu)造的RPNLTree,其中虛線表示當前結(jié)點的RPNL。

  由定義4、定義5及RPNLTree的構(gòu)造過程,可得以下引理:

  引理1 利用RPNL索引查詢語義路徑為L1L2……Ln的結(jié)點,若存在,則其擴展集即為查詢結(jié)果。

  引理2 從RPNLTree根結(jié)點出發(fā),查詢長度為n的字符串p,其查詢代價為O(n)。

  引入RPNL索引技術的關鍵是:當遍歷得到邊L及結(jié)點A時,只需從p所指的當前結(jié)點開始沿著RPNL進行新結(jié)點、邊的構(gòu)造,無需進行全程重復查找(根除外),以此來提高查詢速度,降低處理代價。

  2.3 實驗結(jié)果

  這里選取應用廣泛的路徑索引[6]作為RPNL索引查詢性能的對比分析。實驗的硬件環(huán)境為:CPU選用Pentium4 2.4,RAM為256MB;軟件環(huán)境為:操作系統(tǒng)選用Windows XP,數(shù)據(jù)集為DBLP。圖5為實驗結(jié)果。從圖5的趨勢曲線可以看出,隨著測試數(shù)據(jù)量的增大,路徑索引的查詢時間呈指數(shù)增長,而RPNL索引的查詢時間則基本是線性增長。再由引理1、引理2可證,RPNLTree的查詢處理代價為O(n),即在相同條件下,RPNL索引技術的查詢效率優(yōu)于其他索引。限于篇幅,與其他索引實驗結(jié)果的對比分析省略。

  3  總  結(jié)

  本文設計了一種新的基于XML的關系數(shù)據(jù)映射索引技術。通過對DTD不足的分析,在保持關系數(shù)據(jù)語義約束的基礎上,提出了一套改進的XML Schema算法,并利用XML文檔的層次性,構(gòu)造了XML標簽樹,設計了RPNL索引,實現(xiàn)了基于RPNLTree的查詢代價化O(n)。


  

版權與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權等法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術客服:

0571-85317607

網(wǎng)站技術支持

13606545031

客服在線時間周一至周五
9:00-17:30

關注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!