• 
    

    
    

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

      淺析XML的異構數(shù)據(jù)遷移技術分析

      2012-12-31 11:59:35金天昕
      中國新技術新產品 2012年2期
      關鍵詞:主鍵數(shù)據(jù)類型異構

      金天昕

      (無錫南洋職業(yè)技術學院,江蘇 無錫 214081)

      隨著互聯(lián)網(wǎng)地普及、數(shù)據(jù)庫技術地發(fā)展及信息化程度地加深,越來越多的數(shù)據(jù)被存放在異構數(shù)據(jù)中,同時越來越多的信息系統(tǒng)需要共享異構數(shù)據(jù)庫中數(shù)據(jù),因而,目前異構數(shù)據(jù)庫的管理信息系統(tǒng)開發(fā)的關鍵逐漸傾向于不同數(shù)據(jù)庫之間連接、交換和共享功能地實現(xiàn),使異構數(shù)據(jù)庫中的數(shù)據(jù)不再是一個“信息孤島”。

      XML異構數(shù)據(jù)遷移技術

      1.異構數(shù)據(jù)遷移方式

      異構數(shù)據(jù)庫的遷移時應根據(jù)以下兩種方式來考慮該選哪種遷移方式,一種是完整地將源數(shù)據(jù)庫信息移到目標數(shù)據(jù)庫中;另一種是目標數(shù)據(jù)庫中已有相關記錄,遷移時只需將源數(shù)據(jù)庫信息根據(jù)目標數(shù)據(jù)庫的結構對應遷移上去。

      2.庫信息地獲取

      在異構數(shù)據(jù)遷移過程中,比較關鍵的環(huán)節(jié)是庫信息地正確獲取,尤其是數(shù)據(jù)庫中數(shù)據(jù)表的相關信息地獲取。本文中筆者通過JDBC來連接到數(shù)據(jù)庫,并利用特定SQL語句地執(zhí)行來將數(shù)據(jù)表中列數(shù)、長度、列名、主鍵、允許空等基本屬性取出,為生成相應的描述該表的XML Schema做充足準備。

      “select c.name name,t.name type,c.1ength length,C.isnullable,

      (case when (SELECT count(*)FROM sysobjectsWHERE(name in

      (SELECT nanle FROM sysindexes

      WHERE(id=c.id)AND(indid in

      (SELECT indid FROM sysindexkeys

      WHERE(id=C.id)AND(colid in

      (SELECT colid FROM syscolumns

      WHERE(id=C.id)AND(name=C.name)))))))AND

      (xtype=PK))>0 then 1'elseO'end)Nkey//取主鍵

      from syscolumns C join systypes t on c.xusertype=t.xusertype

      where id= (selectid from sysobjects where name=“+table+”)”//取設計表中的數(shù)據(jù),依次為列名、數(shù)據(jù)類型、長度、允許空、主鍵。

      數(shù)據(jù)模型映射方法

      2.1 基于模式驅動的映射

      異構數(shù)據(jù)庫的數(shù)據(jù)遷移是通過文檔結構和數(shù)據(jù)庫結構之間建立的映射關系來完成的,即將數(shù)據(jù)和數(shù)據(jù)類型分別映射為XML文檔和XML Schema文檔的形式。基于模式驅動的映射是指通過一個具體的模型來實現(xiàn)數(shù)據(jù)庫與XML文檔之間的相互傳送,在該映射過程中除了內嵌SQL命令被依賴外,關系模型被關系數(shù)據(jù)庫依賴,對象模型被面向對象數(shù)據(jù)依賴,Schema對應的數(shù)據(jù)模型則被XML文檔依賴?;谀J津寗拥挠成淇梢詫ML Schema文件中的復雜原始類型改為簡單化,方便用戶數(shù)據(jù)分割和理解。數(shù)據(jù)類型有其相對應的規(guī)則,即不同的數(shù)據(jù)庫及同一數(shù)據(jù)庫廠商的不同版本的數(shù)據(jù)庫產品之間對數(shù)據(jù)類型的定義是不同的。

      2.2 基于XML Schema的數(shù)據(jù)庫信息建模

      在數(shù)據(jù)庫信息與XML Schema之間建立并實現(xiàn)雙向映射可以使基于模型驅動實現(xiàn)數(shù)據(jù)庫與XML文檔之間數(shù)據(jù)的雙向傳輸。在生成的XML Schema文檔對設計表里面元素的基本屬性做了基本的描述,以在異構數(shù)據(jù)遷移時可以更完整地表述數(shù)據(jù)庫信息,如表名稱—ref、長度—value、類型—base、字段名稱—name、主鍵—xs:key,等等。對于XML Schema文檔中SQL Server2000數(shù)據(jù)庫內某個表bjdmb的相關信息可以如以下一段編程來表示。

      //XML 文件的開始標記

      maxOccurs=”unbounded”/>//表中完整數(shù)據(jù)出現(xiàn)次數(shù)

      //表名

      //列bj是否為空值

      /// 列 bj的屬性

      /// 列 bj 的最大長度

      //表bjdmb的主鍵申明

      // 表 bjdmb 的主鍵為bjdm

      2.3 數(shù)據(jù)庫數(shù)據(jù)遷移

      從數(shù)據(jù)庫映射到XML文檔的過程中,可以通過屬性中心和元素中心兩種形式表示,這兩種形式都可以指定這些元素或屬性的名字。但前者不可對各字段的先后順序進行表述,也比較難在屬性中保存應用程序操作,因而,一般情況下都選用元素中心的形式來表示,以實現(xiàn)異構數(shù)據(jù)庫間數(shù)據(jù)交換中XML中間層的構建。下面是一段XML代碼指的是中SQL Server2000數(shù)據(jù)庫內一個表bjdmb中的一組數(shù)據(jù),即bjdm、bj、njdm的映射。

      3.遷移過程可視化控制

      遷移過程可視化控制是指用戶在前臺控制端就可根據(jù)遷移的具體要求,通過論文原型遷移平臺來完成異構系統(tǒng)間數(shù)據(jù)的遷移工作。在該遷移過程中,后臺異構數(shù)據(jù)庫間具體差異用戶可以完全不做考慮。本文中筆者對前臺用戶可視化界面的設計與實現(xiàn)采用的是JSP和JavaBean系統(tǒng)。

      根據(jù)異構數(shù)據(jù)遷移系統(tǒng)的層次結構圖我們可以將該系統(tǒng)分為5個模塊,即數(shù)據(jù)庫連接模塊、數(shù)據(jù)導入模塊、數(shù)據(jù)操作模塊、數(shù)據(jù)遷移模塊和數(shù)據(jù)展示模塊。其中數(shù)據(jù)庫連接模塊主要用于實現(xiàn)將要被遷移的源數(shù)據(jù)庫的設定和連接;數(shù)據(jù)導入模塊主要負責源數(shù)據(jù)庫中需要進行遷移的數(shù)據(jù)的遷移工作;數(shù)據(jù)操作模塊主要功能是用戶對轉換過程中一些如需修改的表名、列名、庫名及需進行添加或刪除的字段等轉換具體需求地設定;數(shù)據(jù)遷移模塊主要負責交換和關聯(lián)規(guī)則地設定;數(shù)據(jù)展示模塊,顧名思義就是在屏幕上向用戶展示遷移過程和結果,以方便用戶監(jiān)控。

      [1]龐海濤.XML在異構數(shù)據(jù)交換中的研究與應用[D].湖北:武漢理工大學碩士論文,2006.

      [2]都志輝.XML編程實踐[M].北京:清華大學出版社,2002.

      猜你喜歡
      主鍵數(shù)據(jù)類型異構
      基于Go 實現(xiàn)的分布式主鍵系統(tǒng)研究
      試論同課異構之“同”與“異”
      詳談Java中的基本數(shù)據(jù)類型與引用數(shù)據(jù)類型
      如何理解數(shù)據(jù)結構中的抽象數(shù)據(jù)類型
      基于外鍵的E-R圖繪制方法研究
      overlay SDN實現(xiàn)異構兼容的關鍵技術
      電信科學(2016年11期)2016-11-23 05:07:56
      LTE異構網(wǎng)技術與組網(wǎng)研究
      在新興異構SoCs上集成多種系統(tǒng)
      數(shù)據(jù)庫主鍵的設計方法探討
      淺談數(shù)據(jù)庫主鍵設計的原則
      灵璧县| 茶陵县| 赣州市| 志丹县| 定边县| 辛集市| 吴旗县| 山阳县| 关岭| 和田市| 津南区| 仁布县| 尉犁县| 吴忠市| 巴楚县| 托里县| 水城县| 桂林市| 邮箱| 景泰县| 定西市| 临颍县| 武平县| 阳泉市| 固原市| 湟源县| 兰溪市| 河西区| 新巴尔虎右旗| 岳池县| 隆回县| 双鸭山市| 酉阳| 卫辉市| 鹿泉市| 利辛县| 三原县| 塔河县| 铁力市| 玛纳斯县| 晋城|