999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于關系的X ML原型系統(tǒng)的設計與實現(xiàn)

2014-07-11 02:38:44衛(wèi)
科技視界 2014年8期
關鍵詞:結構

燕 衛(wèi)

(廈門海洋職業(yè)技術學院,福建 廈門361012)

隨著XML的廣泛應用,XML正在成為數(shù)量龐大的數(shù)據(jù)源,如何利用RDBMS強大數(shù)據(jù)管理功能管理XML數(shù)據(jù)已成為一個研究熱點,由于XML數(shù)據(jù)與關系數(shù)據(jù)庫的數(shù)據(jù)模型不同,實現(xiàn)XML數(shù)據(jù)與數(shù)據(jù)庫數(shù)據(jù)的相互轉換顯得尤為重要。

1 數(shù)據(jù)轉換的設計方案

將XML文檔映射為關系模式進行存儲,有兩大類映射方法:模型映射和結構映射。對于模型映射,利用xml文檔中的數(shù)據(jù)模型的結構顯性或隱性地映射成其他數(shù)據(jù)模型的結構,要實現(xiàn)數(shù)據(jù)庫和xml文檔間的數(shù)據(jù)轉換的關鍵是在數(shù)據(jù)庫模式和schemas和DTD之間建立映射關系,用具體的模型來實現(xiàn)數(shù)據(jù)間的映射。

1.1 邊模型映射方法

一個XML文檔是一個樹狀結構,能夠用一個有序有向邊標記圖來表示,按深度有限的原則從樹葉往樹根搜索,每碰到一個內部節(jié)點則創(chuàng)建對應的抽象數(shù)據(jù)類型,直到根節(jié)點的直接子節(jié)點,創(chuàng)建基于次根節(jié)點所對應的抽象數(shù)據(jù)類型對象,該對象就是根節(jié)點對應的對象,最后將XML文檔中各元素的屬性值填入對象中的相應域。

有了XML圖之后,用來存儲邊信息的邊表有三種設計方案:Edge、Binary、Universal三種邊表設計方案和兩種值表設計方案,一共有六種存儲模式。通過對結構關系數(shù)據(jù)庫大小,執(zhí)行不同類型XML查詢的執(zhí)行時間,從關系數(shù)據(jù)重構XML文檔的時間等三個性能參數(shù)進行量化分析,結論是:Binary邊表帶內聯(lián)值表的存儲模式能獲得最好的綜合性能。

1.2 數(shù)據(jù)模型

一個XML文檔可以被建模為一個樹,因此,一個XML文檔的集合可以被建模為一個森林。一個根結點的樹指向一個XML文檔,一個根結點是非文檔結點的樹指向一個XML文檔片段。因此一個XML查詢即可以在一個XML文檔樹或文檔森林上進行,也可以在一個XML文檔片段或森林片段上進行。

如何從一個DTD生成一個關系型結構?對于每種包含元素或者混合內容的元素類型,新建一個表和一個主鍵字段,對于每個包含混合內容的元素類型,創(chuàng)建一個單獨的表格,其中存放未析數(shù)據(jù),通過父元素主鍵鏈接到父表格,對每個有元素或者混合內容的子元素,通過父元素主鍵將父元素表格和子元素表格相連接。

如何從一個關系型的結構生成一個DTD?對于每個表新建一個元素,對于表格中的每個字段,新建一個屬性或者是只包含未析數(shù)據(jù)的子元素;對于每個表格字段中提供主鍵的主鍵/外鍵的關系都新建一個子元素。

1.3 擴展先序列表

為了有效地實現(xiàn)對文檔樹中任意兩個結點對之間的祖先/后裔關系,利用擴展先序列表寫出它的先序遍歷序列,然后根據(jù)圖中各個節(jié)點左右孩子的狀況進行加以遍歷。基于節(jié)點的索引本質上即是將XML數(shù)據(jù)分解為數(shù)據(jù)單元的記錄集合,同時在記錄中保存該單元在XML數(shù)據(jù)中的位置信息。通過編碼技術索引每一個節(jié)點,節(jié)點之間的結構關系通過編碼可以在常數(shù)時間內確定它可以很好地支持正則路徑表達式。

2 XML文檔到關系數(shù)據(jù)庫的映射方案

2.1 XML文檔到關系數(shù)據(jù)庫映射

XML文檔到數(shù)據(jù)庫的映射往往忽略XML文檔的物理結構(例如實體、引用文本部分及編碼信息)及某些邏輯結構(如處理指令、注釋以及子元素和模型組在元素聲明中出現(xiàn)的順序)。因為數(shù)據(jù)庫和應用程序只關心XML文件中的數(shù)據(jù),因此在映射算法中先不考慮這些物理結構和邏輯結構的映射。

2.2 文檔轉換到關系數(shù)據(jù)庫的算法描述

根據(jù)上述映射規(guī)則,可以將元素之間的樹型關系存入RDBMS。不過,首先需要對XML文檔進行解析以獲得DOM樹,并且要給DOM樹中的每個元素節(jié)點分別綁定唯一的ID(這在遍歷DOM樹時實現(xiàn))。事先建一張元素關系表,表的字段分別代表當前元素節(jié)點的ID、當前元素節(jié)點的父節(jié)點ID、當前元素節(jié)點的名稱。然后根據(jù)上述算法對XML文檔進行解析。

2.3 關系數(shù)據(jù)庫中的數(shù)據(jù)恢復成XML形式的算法描述

根據(jù)上述的存儲策略,可以從關系數(shù)據(jù)庫中將數(shù)據(jù)恢復成XML形式:根據(jù)元素關系表來建立XML文檔中元素的嵌套關系,并分別查詢元素內容表和屬性值表來將各元素的內容和各元素的屬性及值插入元素節(jié)點。

3 原型系統(tǒng)的設計與實現(xiàn)

這個原型系統(tǒng)實現(xiàn)了兩種方法的存儲,一種是以塊結構存儲,第二種以模型為基礎的映射存儲,通過原型的實現(xiàn)讓我們可以更加清楚直觀的理解XML存儲到關系數(shù)據(jù)庫的概念。

整個原型系統(tǒng)的工作流程是將讀入的XML文件經(jīng)過解析遍歷,并在遍歷的同時進行判斷結點類型,插入相應的關系數(shù)據(jù)庫表中。

3.1 功能模塊

(1)classRdb主要用于創(chuàng)建數(shù)據(jù)庫的連接。

(2)classtest主要用于實現(xiàn)解析文檔并映射到關系數(shù)據(jù)庫的工作,這是對于上述算法的具體實現(xiàn),主要實現(xiàn)函數(shù)有test(),stepThrough(Node start),complex(Node node)。

(3)classblobstore主要用于以塊結構存儲XML文檔。

3.2 界面模塊

(1)classAppFrame中調用了javax.swing.filechooser.*;這個包并重載了它,使它實現(xiàn)了對于文件過濾的功能。

(2)classsccuce用來判斷文件存儲成功與否,使用了彈出框的形式。

(3)classErrorDialog可以用來顯示程序運行過程中的一些異常,如文件已經(jīng)存在關系數(shù)據(jù)庫中的重復存儲的異常。

猜你喜歡
結構
DNA結構的發(fā)現(xiàn)
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
循環(huán)結構謹防“死循環(huán)”
論《日出》的結構
縱向結構
縱向結構
我國社會結構的重建
人間(2015年21期)2015-03-11 15:23:21
創(chuàng)新治理結構促進中小企業(yè)持續(xù)成長
主站蜘蛛池模板: 青草午夜精品视频在线观看| 久久婷婷五月综合色一区二区| 国产91成人| 免费看黄片一区二区三区| 欧美成人手机在线观看网址| 天堂在线视频精品| 亚洲天堂成人在线观看| 亚洲啪啪网| 日韩激情成人| 久久久久九九精品影院 | 99精品在线看| 中文字幕首页系列人妻| 婷婷激情五月网| 丰满少妇αⅴ无码区| 日韩无码一二三区| 亚洲三级网站| 在线色国产| 国产精品偷伦视频免费观看国产 | 国产精品v欧美| 99久久这里只精品麻豆| 91色综合综合热五月激情| 国产免费福利网站| 国产精品欧美在线观看| 国产成人精品亚洲日本对白优播| 久久精品无码中文字幕| 免费va国产在线观看| 欧洲欧美人成免费全部视频| 中文字幕在线一区二区在线| 亚洲欧美另类日本| 亚洲综合在线最大成人| 久久精品亚洲专区| 欧美精品啪啪一区二区三区| 日韩成人午夜| 免费人欧美成又黄又爽的视频| 亚洲视频黄| 国产综合精品一区二区| 精品福利国产| 国产精品无码AV中文| 国产精品手机在线播放| 国产视频入口| 亚洲第一成网站| 精品无码日韩国产不卡av| 亚洲福利视频一区二区| 色AV色 综合网站| 国产SUV精品一区二区6| 波多野吉衣一区二区三区av| 成人福利在线观看| 专干老肥熟女视频网站| 91精品亚洲| 久久伊人操| 1024国产在线| 亚洲综合色在线| 性色一区| 成年午夜精品久久精品| 在线播放真实国产乱子伦| 国产精品网拍在线| 伊人91在线| 亚洲欧美另类专区| 精品一区国产精品| 日本国产精品一区久久久| 国产超碰在线观看| 国产福利观看| 精品国产香蕉在线播出| 精品小视频在线观看| 国产在线观看成人91| 韩日午夜在线资源一区二区| 一区二区三区四区在线| 久久国语对白| 青草精品视频| 亚洲激情99| 国产精品 欧美激情 在线播放| 在线不卡免费视频| 欧美不卡视频在线观看| 亚洲第一成年网| 亚洲精品视频免费| 国产成人精品第一区二区| 国产人妖视频一区在线观看| 最近最新中文字幕在线第一页| 亚洲欧美另类久久久精品播放的| 色窝窝免费一区二区三区| 日韩欧美色综合| 亚洲永久色|