欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種使能xml數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法

文檔序號(hào):6346187閱讀:139來(lái)源:國(guó)知局
專利名稱:一種使能xml數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種使能XML數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法,特別涉及的是XML的一種轉(zhuǎn)換方法。
背景技術(shù)
目前各著名數(shù)據(jù)庫(kù)廠商比如IBM、Microsoft、Oracle和Sybase都宣稱能夠支持XML技術(shù)。研究分析,它們都是基于各自的數(shù)據(jù)庫(kù)之上,沒(méi)有一定的通用性,而且在XML和SQL的轉(zhuǎn)換中是不對(duì)稱的。如表I是對(duì)各商用數(shù)據(jù)庫(kù)的分析。這里主要說(shuō)說(shuō)SQL Server0在取XML數(shù)據(jù)時(shí),它是通過(guò)擴(kuò)展SELECT的FOR XML來(lái)實(shí)現(xiàn)的,它有三種模式:RAW、AUTO和EXPLICIT,其基本思想都是把查詢的每個(gè)行記錄作為一個(gè)元素返回被保存在每個(gè)標(biāo)簽中。在保存XML數(shù)據(jù)時(shí),SQL Server是通過(guò)0PENXML來(lái)實(shí)現(xiàn)的,通過(guò)設(shè)定絕對(duì)或相對(duì)路徑,把不同層次的數(shù)據(jù)放入一個(gè)表格中,不保存XML結(jié)構(gòu)信息,無(wú)法完全恢復(fù)到原來(lái)的XML文件??傮w上,各種關(guān)系數(shù)據(jù)庫(kù)都有各自的支持策略,但對(duì)開(kāi)發(fā)人員來(lái)說(shuō),用到不同的數(shù)據(jù)庫(kù)處理XML,程序上就要做出相當(dāng)大的變化。因此一種獨(dú)立通用的映射來(lái)保存XML數(shù)據(jù)是必要的。XML文件物理結(jié)構(gòu)上由多種元素組成,本文的研究只考慮常用的ELEMENT、TEXT、ATTRIBUTE三種元素,采用三個(gè)表來(lái)保存XML數(shù)據(jù)。主要思想是把樹(shù)結(jié)構(gòu)中的中間節(jié)點(diǎn)(非屬性和文本節(jié)點(diǎn))放入mNode (Middle Node)表,葉子節(jié)點(diǎn)(屬性和文本節(jié)點(diǎn))放入eNode (End Node)表,另外一個(gè)是ePath表,用于保存從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑。從XML到SQL,一般都是采用遞歸算法,先根遍歷XML樹(shù)結(jié)構(gòu),而從SQL返回到XML時(shí),一般采用隊(duì)列生成XML節(jié)點(diǎn)。遞歸過(guò)程一般要消耗較多的時(shí)間和空間,在處理較大結(jié)構(gòu)的XML時(shí),性能上不是很理 想。

發(fā)明內(nèi)容
基于上述問(wèn)題,特此發(fā)明一種使能XML數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法;本方法是在XML和SQL中放入一個(gè)中間層,該層中主要有根據(jù)DTD或Schema生成的一系列Bean、一個(gè)操作SQL的模塊、一個(gè)操作XML的模塊,另外在此基礎(chǔ)上還可以方便擴(kuò)展給其他業(yè)務(wù)邏輯層調(diào)用的模塊。具體實(shí)現(xiàn):JavaBeans:這里所說(shuō)的JavaBeans是根據(jù)XML對(duì)應(yīng)的DTD或Schema所產(chǎn)生的有級(jí)聯(lián)關(guān)系的類。通過(guò)這些類邏輯上形成一棵XML樹(shù)形結(jié)構(gòu),用于存放實(shí)際XML數(shù)據(jù),我們可以設(shè)ii^一個(gè)BookItem類,它包括一個(gè)TitleTxt字段、一個(gè)PriceTxt字段、一個(gè)AuthorBean字段以及一個(gè)YearAttr字段,其中AuthorBean由多個(gè)AuthorItem組成,類似的,AuthorItem包含它下面的節(jié)點(diǎn)信息。在這個(gè)過(guò)程中,可以完成ePath表的信息建立。XML Operator:該模塊可以支持DOM、SAX解析。根據(jù)層次信息依次解析每個(gè)節(jié)點(diǎn),此過(guò)程中記錄父子節(jié)點(diǎn)關(guān)系,并且記錄一個(gè)節(jié)點(diǎn)中所有子節(jié)點(diǎn)的先后順序,并設(shè)定到Bean中。SQL Operator:該模塊主要是把Bean中的信息寫入數(shù)據(jù)庫(kù),以及從數(shù)據(jù)庫(kù)中讀取信息供重組XML。本映射模型通過(guò)保存結(jié)點(diǎn)路徑,查詢時(shí)可減少連接次數(shù)。另外,把屬性及文本節(jié)點(diǎn)的值保存在同一個(gè)表中,若只查詢某個(gè)結(jié)點(diǎn)下的信息,可以不進(jìn)行自連接,很好地支持局部查詢。在轉(zhuǎn)換方法上,我們?cè)O(shè)計(jì)一個(gè)中間層,負(fù)責(zé)存儲(chǔ)解析過(guò)的信息,并分別提供生成XML及保存到SQL的方法,而這層的大部分代碼都是自動(dòng)生成的。根據(jù)需求,還可以方便加入自定義的處理模塊。然而,本模型要求被解析的XML文件必須要有DTD或Schema,使得應(yīng)用上受到一定的局限性。
權(quán)利要求
1.一種使能XML數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法:該方法主要是XML和SQ L之間的聯(lián)系。
2.根據(jù)權(quán)利要求1的XML數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法,此方法主要在XML和SQL中放入一個(gè)中間層,該層中主要有根據(jù)DTD或Schema生成的一系列Bean、一個(gè)操作SQL的模塊、一個(gè)操作XML的模塊,另外在此基礎(chǔ)上還可以方便擴(kuò)展給其他業(yè)務(wù)邏輯層調(diào)用的模塊。
全文摘要
一種使能XML數(shù)據(jù)庫(kù)的映射轉(zhuǎn)換方法XML在Web領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,而XML數(shù)據(jù)庫(kù)一直是個(gè)研究熱點(diǎn)。各數(shù)據(jù)庫(kù)廠商及研究機(jī)構(gòu)紛紛投入對(duì)XML技術(shù)的研究及開(kāi)發(fā)。大體上可以把XML數(shù)據(jù)庫(kù)分為兩類原生XML數(shù)據(jù)庫(kù)(Nati ve XML Database)和使能XML數(shù)據(jù)庫(kù)(Enable XML Database)。而XML數(shù)據(jù)一般可劃分為粗粒度、中粒度及細(xì)粒度三種形式。以文檔為中心的粗粒度形式,一般采用原生XML數(shù)據(jù)庫(kù),而以數(shù)據(jù)為中心的細(xì)粒度形式一般采用使能XML數(shù)據(jù)庫(kù)。XML數(shù)據(jù)是嵌套的樹(shù)形結(jié)構(gòu),而關(guān)系數(shù)據(jù)庫(kù)是簡(jiǎn)單、平面的二維表結(jié)構(gòu),結(jié)構(gòu)的差異性,使得在存儲(chǔ)XML數(shù)據(jù)時(shí)需要按一定的映射規(guī)則進(jìn)行轉(zhuǎn)換,并使能夠恢復(fù)到原XML文件。
文檔編號(hào)G06F17/30GK103092869SQ20111034490
公開(kāi)日2013年5月8日 申請(qǐng)日期2011年11月1日 優(yōu)先權(quán)日2011年11月1日
發(fā)明者楊際榮 申請(qǐng)人:鎮(zhèn)江華揚(yáng)信息科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
瓦房店市| 云南省| 镇巴县| 紫阳县| 阳高县| 沙湾县| 沁阳市| 虹口区| 隆昌县| 清水县| 宜君县| 上林县| 荆门市| 岱山县| 永嘉县| 大厂| 山西省| 尉犁县| 阜新| 天峨县| 张家港市| 息烽县| 公安县| 石首市| 双鸭山市| 海丰县| 太谷县| 旬阳县| 清远市| 霍林郭勒市| 孙吴县| 叙永县| 广丰县| 榆中县| 新宁县| 西和县| 梅州市| 凤山县| 两当县| 丰原市| 凌云县|