• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      XML與關(guān)系數(shù)據(jù)庫之間的轉(zhuǎn)換

      2017-05-16 19:19:50楊丹李桃迎陳燕
      教育教學論壇 2017年18期
      關(guān)鍵詞:關(guān)系數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)

      楊丹+李桃迎+陳燕

      (大連海事大學,遼寧 大連 116026)

      摘要:XML可以用于實現(xiàn)異構(gòu)數(shù)據(jù)庫,同時也是一種中間件和數(shù)據(jù)承載工具,XML強大的技術(shù)功能為數(shù)據(jù)交換提供了便利。伴著計算機技術(shù)的快速發(fā)展和網(wǎng)絡的高速普及,數(shù)據(jù)量呈現(xiàn)爆炸式地增長。借助于XML文檔強大的數(shù)據(jù)轉(zhuǎn)換能力實現(xiàn)與關(guān)系數(shù)據(jù)庫文件的轉(zhuǎn)換,就成為一種必然趨勢。因此,研究XML向關(guān)系數(shù)據(jù)轉(zhuǎn)換技術(shù)具有非常重要的價值。

      關(guān)鍵詞:XML;數(shù)據(jù)結(jié)構(gòu);關(guān)系數(shù)據(jù)庫

      中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2017)18-0200-02

      隨著網(wǎng)絡的飛速發(fā)展,對數(shù)據(jù)交換技術(shù)的產(chǎn)生了需求,可擴展標記語言XML(Extensible Markup Language)應運而生。XML與HTML相似,都是SGML[1]的一個子集,允許用戶使用自己定義的、簡單的、統(tǒng)一的標準來實現(xiàn)自己的應用。XML保持了SGML的優(yōu)秀特性[2]的同時克服了SGML的繁雜缺點,更為便利地運用到Web開發(fā)上,給Web的客戶端開發(fā)提供了更強大地對文檔過程設計的控制能力。

      一、關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)與模式轉(zhuǎn)換

      關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)較為單一,只包含關(guān)系。以用戶角度,關(guān)系模型的邏輯結(jié)構(gòu)就是一張扁平的二維表,同時建立在集合代數(shù)的基礎(chǔ)上,有著明確的數(shù)學概念。以集合論的角度闡述關(guān)系數(shù)據(jù)結(jié)構(gòu)的形式化定義[3]如下:關(guān)系的描述稱為關(guān)系模式(Relation Schema)。通過形式化定義表示為R(U,D,DOM,F(xiàn)),其中,R稱為關(guān)系名,U為組成該關(guān)系的屬性名集合,D為屬性組U中屬性所來自的域,DOM為屬性向域的映向集合,F(xiàn)為屬性間數(shù)據(jù)的依賴關(guān)系集合。大多數(shù)情況下,屬性組U中屬性所來自的域D和屬性到域的映射DOM對模式的影響不大,也可以將其看作是一個三元組:R。在實際應用中,一般把關(guān)系模式描述為:關(guān)系名(屬性1,屬性2,…屬性n)。

      在將XML映射為關(guān)系數(shù)據(jù)庫時,首先需要將XML文檔解析為樹形結(jié)構(gòu),然后根據(jù)元素樹,將其映射轉(zhuǎn)換為概念模型——ER圖,接著再把ER圖轉(zhuǎn)換為對象關(guān)系數(shù)據(jù)模型,也就是規(guī)范化的二維表,最終建立起關(guān)系型數(shù)據(jù)庫。整個流程圖如圖1所示。

      二、解析XML文檔

      (一)使用JAXP解析XML文檔

      JAXP支持兩種解析方式,分別是基于對象的解析和基于事件的解析。

      基于對象的解析:這種方式支持W3C DOM解析,未來的JAXP版本中可能會支持J-DOM規(guī)范;基于事件的解析:支持SAX解析模式。

      (二)將XML Tree映射為ER圖

      1.XML樹的“根元素”映射為數(shù)據(jù)庫名,即contacts。它概括出了E-R圖。實體與聯(lián)系的大范疇。

      2.XML樹的直接子元素映射為實體,即contacts的3個同名的子元素contact轉(zhuǎn)換為ER圖中的一個“聯(lián)系人”實體集。

      3.直接子元素的屬性及子元素映射為其的屬性,即contact有person、tags、name、location、phone、knows、description屬性。

      4.對于上一點中復雜類型的子元素,其屬性及子元素又被轉(zhuǎn)換為父元素的屬性。最終,E-R圖如下頁圖1所示。

      (三)E-R圖向關(guān)系模型轉(zhuǎn)換

      聯(lián)系人contact對應的關(guān)系模式如下:

      contact(person,tags,name(title,first,middle,last),location(address,latitude,longitude),phone(kind),knows(contacts),description)

      但是,上方關(guān)系模式并非規(guī)范化的關(guān)系模式,因此利用數(shù)據(jù)依賴將其規(guī)范化。

      數(shù)據(jù)依賴是一個關(guān)系內(nèi)部屬性與屬性之間的一種約束關(guān)系。這種約束關(guān)系是通過屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間相關(guān)聯(lián)系,是數(shù)據(jù)內(nèi)在的性質(zhì),是語義的體現(xiàn)。數(shù)據(jù)依賴有很多類型,其中最重要的是函數(shù)依賴(Functional Dependency,F(xiàn)D)和多值依賴(Multivalued Dependency,MVD)[3]。

      規(guī)范化后:

      contact (person(主鍵),tags,phone_kind,phone,knows_contacts,description)

      name (person(外鍵),title,first,middle,last)

      location (person(外鍵),address,latitude,longitude)

      (四)XML文檔數(shù)據(jù)錄入數(shù)據(jù)庫

      解析XML文檔,使用JDBC連接數(shù)據(jù)庫,在java中執(zhí)行sql的insert語句將數(shù)據(jù)導入數(shù)據(jù)庫中,至此XML模式已經(jīng)完整地轉(zhuǎn)化為關(guān)系模式,包括模式轉(zhuǎn)換和數(shù)據(jù)入庫兩部分。

      (五)關(guān)系模式到XML模式的轉(zhuǎn)換

      三、根據(jù)關(guān)系表構(gòu)建DOM樹

      1.數(shù)據(jù)庫名轉(zhuǎn)化為樹的根結(jié)點,即contacts為根結(jié)點。

      2.根據(jù)contact表的記錄數(shù)生成根節(jié)點的子結(jié)點,元素名為表名,即3個實體生成3個子結(jié)點contact。

      3.contact表的主碼轉(zhuǎn)換為contact的屬性結(jié)點,其余根據(jù)屬性名轉(zhuǎn)換為contact的子結(jié)點或子結(jié)點的屬性結(jié)點。

      4.從表和主表進行自然連接,即name和location表與contact表連接:從表的表名轉(zhuǎn)換為contact的子結(jié)點,從表的屬性根據(jù)屬性名分別轉(zhuǎn)換為contact子元素的屬性結(jié)點或子結(jié)點。

      將DOM樹轉(zhuǎn)化為XML文檔數(shù)據(jù)嵌入,使用JDBC連接數(shù)據(jù)庫,在java中執(zhí)行sql的select語句將數(shù)據(jù)插入到XML文檔中。

      四、小結(jié)

      由于互聯(lián)網(wǎng)與計算機技術(shù)的快速發(fā)展和廣泛應用,以XML為交換載體的數(shù)據(jù)交換方式成為當前數(shù)據(jù)集成和整合的一種趨勢,如何快速、有效地實現(xiàn)關(guān)系數(shù)據(jù)與XML數(shù)據(jù)的轉(zhuǎn)換成為當前數(shù)據(jù)整合和集成的研究熱點。由于作者對問題的理解程度和查閱資料有限等方面的原因,本文的研究還有很多不足,在未來的研究工作中還需要完善和改進,例如:本文尚未考慮轉(zhuǎn)化規(guī)則的制定,缺乏對多個實體型和單個實體型的聯(lián)系轉(zhuǎn)化,在二元聯(lián)系轉(zhuǎn)化規(guī)則的思想上,未來的研究可以擴充對多個實體型和單個實體型聯(lián)系轉(zhuǎn)化規(guī)則。

      參考文獻:

      [1]C.M.Sperberg-McQueen,Lou Burnard.A Gentle Introduction to SGML,http://www.isgmlug.org/sgmlhelp/g-index.htm,1994.

      [2]陳志煒.一種基于語義的將關(guān)系數(shù)據(jù)轉(zhuǎn)換為XML數(shù)據(jù)的方法[D].南京:東南大學碩士學位論文,2004.

      [3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].第三版.北京:高等教育出版社,2005.

      收稿日期:2016-11-25

      基金項目:遼寧省普通高等學校優(yōu)勢特色專業(yè)(本科教改項目);大連海事大學研究生教改項目(YJG201600)

      作者簡介:楊丹(1996-),女(漢族),湖北鄂州人,在讀本科,研究方向:信息管理與信息系統(tǒng);李桃迎(1983-),女(漢族),安徽宿州人,博士,副教授,研究方向:管理科學與工程、系統(tǒng)集成、數(shù)據(jù)挖掘;陳燕(1952-),女(漢族),遼寧大連人,博士,教授/博導,研究方向:數(shù)據(jù)倉庫與數(shù)據(jù)挖掘、管理科學與決策支持、多維交通信息組織與管理。

      猜你喜歡
      關(guān)系數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)
      關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應用
      山東冶金(2022年2期)2022-08-08 01:51:30
      “翻轉(zhuǎn)課堂”教學模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學為例
      高職高專數(shù)據(jù)結(jié)構(gòu)教學改革探討
      中國市場(2016年45期)2016-05-17 05:15:48
      基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
      TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學中的應用
      《數(shù)據(jù)結(jié)構(gòu)》教學方法創(chuàng)新探討
      河南科技(2014年5期)2014-02-27 14:08:57
      一種基于數(shù)據(jù)圖劃分的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索方法
      基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
      柳州市| 东城区| 万年县| 宁波市| 萨迦县| 旌德县| 壤塘县| 佛坪县| 和硕县| 洛扎县| 息烽县| 柳江县| 日照市| 寻乌县| 平南县| 漯河市| 邹城市| 麻栗坡县| 富宁县| 东源县| 诏安县| 东安县| 寻乌县| 呈贡县| 郓城县| 沙河市| 九龙县| 天台县| 徐州市| 福安市| 余姚市| 潜江市| 宁河县| 兴文县| 阳原县| 宣恩县| 桃园县| 青田县| 高台县| 五常市| 青河县|