国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于結(jié)構(gòu)的異構(gòu)數(shù)據(jù)模型映射方法研究

2010-10-17 07:46:54趙鳳芝王振雷劉學(xué)爽
關(guān)鍵詞:數(shù)據(jù)項數(shù)據(jù)模型樹形

趙鳳芝,王振雷,劉學(xué)爽,饒 平

(大慶石油學(xué)院計算機(jī)與信息技術(shù)學(xué)院,黑龍江大慶163318)

模型是系統(tǒng)的抽象,是用一種給定的形式化語言對系統(tǒng)的功能、結(jié)構(gòu)和行為進(jìn)行描述[1].同一系統(tǒng)不同抽象層次的模型,在組織結(jié)構(gòu)和信息表達(dá)方式上有著較大的差異,稱之為模型描述的異構(gòu)性.模型描述的異構(gòu)性表現(xiàn)為三個層次:語法、結(jié)構(gòu)和語義.而模型映射的成效主要依賴于模型之間的結(jié)構(gòu)差異.這種差異對映射規(guī)則的定義有重要的影響,當(dāng)二者以相同的結(jié)構(gòu)和行為展示模型元素時,其映射關(guān)系是很容易定義的.如果兩個模型之間的結(jié)構(gòu)描述差異很大,即模型之間的相似度較小,直接映射就很困難[2].

本文研究的源模型是半結(jié)構(gòu)化數(shù)據(jù)模型,目標(biāo)模型是關(guān)系數(shù)據(jù)庫模型.針對這兩種模型的種種差異,分別分析他們的結(jié)構(gòu)特征,依據(jù)目標(biāo)模型的分析原理,找到源模型的模式構(gòu)造原理,采用樹形結(jié)構(gòu)對兩種模型進(jìn)行描述.找到源模型和目標(biāo)模型的映射關(guān)系,最終形成映射文件,完成模型之間的映射[3].

1 模型映射的基本思想

模型映射是根據(jù)一組規(guī)則(稱為映射規(guī)則),建立源模型和目標(biāo)模型之間的對應(yīng)關(guān)系.映射之前,源模型和目標(biāo)模型的描述均已存在.模型映射有時也稱數(shù)據(jù)映射[4].

模型間數(shù)據(jù)映射的體系結(jié)構(gòu)如圖1.

圖1 數(shù)據(jù)模型映射體系結(jié)構(gòu)

這里稱源數(shù)據(jù)模型為SDM(Source Data Model),稱目標(biāo)數(shù)據(jù)模型為TDM(Target Data Model).我們通過本身屬性對其進(jìn)行結(jié)構(gòu)描述,然后從描述后的模型中找到映射關(guān)系,形成映射文件,最終完成源模型到目標(biāo)模型的數(shù)據(jù)映射[5].

2 目標(biāo)數(shù)據(jù)模型的描述

本文研究的目標(biāo)數(shù)據(jù)模型(TM)是基于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型.在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)模型是以二維表為主要形式存在的,因此如何描述二維表的結(jié)構(gòu)是數(shù)據(jù)模型描述的主要內(nèi)容.實(shí)體和數(shù)據(jù)項這兩個屬性描述了二維表的基本結(jié)構(gòu).

2.1 實(shí)體

實(shí)體的屬性包括實(shí)體名稱、實(shí)體代碼和實(shí)體描述等.實(shí)體之間存在父子關(guān)系,即某一實(shí)體在邏輯上是另一個實(shí)體的父實(shí)體,同理,某一實(shí)體也可能是另一實(shí)體的子實(shí)體,這種關(guān)系只是一種邏輯上的關(guān)系,但對關(guān)系之內(nèi)的每一個實(shí)體來說都是一個獨(dú)立的實(shí)體.這種關(guān)系不是必需的并且父子關(guān)系的存在不影響父實(shí)體和子實(shí)體的各個屬性.

2.2 數(shù)據(jù)項

數(shù)據(jù)項必須是實(shí)體的一部分,數(shù)據(jù)項的描述不能脫離實(shí)體.數(shù)據(jù)項之間不存在約束關(guān)系.數(shù)據(jù)項可以作為實(shí)體的唯一標(biāo)識,可以是一個數(shù)據(jù)項,也可以十多個數(shù)據(jù)項聯(lián)合起來唯一標(biāo)識一個實(shí)體.用來唯一標(biāo)識實(shí)體的數(shù)據(jù)項也稱為主碼.

2.3 模型表示

樹形結(jié)構(gòu)圖的根節(jié)點(diǎn)是目標(biāo)模型的一個總括,子節(jié)點(diǎn)對應(yīng)的是目標(biāo)數(shù)據(jù)庫中的實(shí)體表.實(shí)體之間的關(guān)聯(lián)是通過實(shí)體之間的約束來表示的.實(shí)體之間,一個實(shí)體為父實(shí)體,另一個和其有約束關(guān)系的實(shí)體為子實(shí)體,通過關(guān)聯(lián)數(shù)據(jù)項產(chǎn)生關(guān)聯(lián),對應(yīng)的數(shù)據(jù)項為父屬性和子屬性見圖2.葉子節(jié)點(diǎn)對應(yīng)的是目標(biāo)數(shù)據(jù)庫中的數(shù)據(jù)項.通過對這樣樹形結(jié)構(gòu)的分析,可以清晰的看出直接的層次描述關(guān)系.所以我們完全可以應(yīng)用樹形結(jié)構(gòu)描述這個目標(biāo)模型.

圖2 目標(biāo)模型的樹形結(jié)構(gòu)圖

3 源數(shù)據(jù)模型的描述

本文研究的源數(shù)據(jù)模型(SM)是半結(jié)構(gòu)化數(shù)據(jù)模型.這種數(shù)據(jù)模型無論是在數(shù)據(jù)上還是結(jié)構(gòu)上都給數(shù)據(jù)的處理帶來了很大的困難.因此,可以把一個半結(jié)構(gòu)化數(shù)據(jù)的實(shí)例看成一個結(jié)構(gòu)樹來展開,從根對象到某個葉子對象構(gòu)成一條路徑,節(jié)點(diǎn)就是對象標(biāo)識,連接兩個節(jié)點(diǎn)的邊就是屬性.這種描述形式的一個顯著優(yōu)點(diǎn)是模式和數(shù)據(jù)采用一種數(shù)據(jù)模型.區(qū)域塊和區(qū)域數(shù)據(jù)項這兩個屬性描述了半結(jié)構(gòu)化數(shù)據(jù)的基本結(jié)構(gòu).

3.1 區(qū)域塊

區(qū)域塊是由區(qū)域數(shù)據(jù)項(Block Data Item,記為B-DI)構(gòu)成,每一個區(qū)域數(shù)據(jù)項描述區(qū)域塊的某一方面的特征,是區(qū)域塊的屬性之一.根據(jù)分塊規(guī)則,我們認(rèn)為塊和塊之間存在著嵌套關(guān)系.區(qū)域塊之間通過約束規(guī)則,如主外鍵約束等聯(lián)系在一起.

3.2 區(qū)域數(shù)據(jù)項

由2部分組成,包括,數(shù)據(jù)名稱和數(shù)據(jù)本身.兩者合在一起稱為區(qū)域數(shù)據(jù)項,在一個半結(jié)構(gòu)化數(shù)據(jù)實(shí)例中,是由多個數(shù)據(jù)單元構(gòu)成.對于半結(jié)構(gòu)化數(shù)據(jù)來說,這種數(shù)據(jù)多為展示數(shù)據(jù),如web數(shù)據(jù)、報表數(shù)據(jù)等.

3.3 模型表示

樹形結(jié)構(gòu)圖的根節(jié)點(diǎn)是源模型的一個總括,子節(jié)點(diǎn)對應(yīng)的是源模型中的區(qū)域塊.區(qū)域塊之間的關(guān)聯(lián)是通過區(qū)域數(shù)據(jù)項之間的約束來表示的.一個半結(jié)構(gòu)化數(shù)據(jù)源模型可以由多個區(qū)域塊組成,每個區(qū)域塊可以由多個區(qū)域數(shù)據(jù)項組成.通過對此源模型的樹形結(jié)構(gòu)分析,我們完全可以應(yīng)用樹形結(jié)構(gòu)描述這個源模型,見圖3.

圖3 源模型的樹形結(jié)構(gòu)圖

4 源模型和目標(biāo)模型的映射算法

經(jīng)過前幾節(jié)的系統(tǒng)分析,本文將源模型和目標(biāo)模型都用樹形結(jié)構(gòu)來表示.下面給出源模型和目標(biāo)模型之間的映射算法.

在源模型中,定義P為源模型中區(qū)域塊的數(shù)量.定義M為某一個區(qū)域塊含有區(qū)域數(shù)據(jù)項的數(shù)量.在目標(biāo)模型中,定義Q為目標(biāo)模型中包含實(shí)體的數(shù)量.對于一個區(qū)域塊和一個實(shí)體之間的相似度,表示為

其中:B表示區(qū)域塊,E表示實(shí)體,N表示該實(shí)體中包含所有數(shù)據(jù)項的數(shù)量,m表示在該實(shí)體中包含區(qū)域塊中區(qū)域數(shù)據(jù)項的數(shù)量,m≤M.

為了確定源模型子樹與目標(biāo)模型子樹的相似度,我們需將源模型的每一棵子樹與目標(biāo)模型的每一棵子樹相比較.假設(shè)兩棵子樹計算所得的相似度數(shù)值的個數(shù)為Q個,對得到的Q個數(shù)值進(jìn)行歸類.分子相同的為一組,分組進(jìn)行比較.

根據(jù)上面的歸類方法可以得到以下2種情況:

第1種情況(m=M):即實(shí)體中包含塊中所有區(qū)域數(shù)據(jù)項.相似度記為m/N.對于一個設(shè)計合理的數(shù)據(jù)庫來說,一般不會存在一個實(shí)體表完全包含所有的區(qū)域數(shù)據(jù)項的情況,因此在這種情況下得到的相似度值,不一定是正確的答案,我們將其作為備選項.

第2種情況(m<M):區(qū)域數(shù)據(jù)項被多個實(shí)體表包含.相似度記為m1/N1(m1<M).在這種情況下我們就要考慮實(shí)體關(guān)聯(lián)的情況了.實(shí)體和實(shí)體之間的關(guān)聯(lián)可以分為兩層實(shí)體關(guān)聯(lián)和多層實(shí)體關(guān)聯(lián).

第1種:2層實(shí)體(0-1)關(guān)聯(lián)的情況.

由于無法確定0層實(shí)體所關(guān)聯(lián)的1層實(shí)體的數(shù)量,我們將其再分成兩種情況:

1)1層實(shí)體數(shù)量Q1=1

在1層實(shí)體中,若不包含剩余數(shù)量M-m1中的任意一個區(qū)域數(shù)據(jù)項,我們便認(rèn)為0層實(shí)體和1層實(shí)體的關(guān)聯(lián)在該計算中無意義,并且認(rèn)為1層的實(shí)體為無效實(shí)體.

在1層實(shí)體中,若全部包含剩余數(shù)量M-m1中的區(qū)域數(shù)據(jù)項,該層有效,我們便認(rèn)為0層實(shí)體和1層實(shí)體的關(guān)聯(lián)有意義.在此我們設(shè)定m2為1層實(shí)體包含區(qū)域塊中的區(qū)域數(shù)據(jù)項的個數(shù),其中m2≥M-m1.

在Q1=1情況下,在樹形結(jié)構(gòu)中是實(shí)體和實(shí)體相連接,但是在計算相似度時我們也是將相連部分分解,單獨(dú)計算1層中的實(shí)體和區(qū)域塊的相似度.以后如果有實(shí)體之間的關(guān)聯(lián)時,仍然是分解后單獨(dú)計算,不再贅述.所以1層實(shí)體與區(qū)域塊的相似度計算滿足公式(1)的要求.取值為m2/N2(m2≥M-m1).所以區(qū)域塊樹與兩層實(shí)體關(guān)聯(lián)的相似度計算公式為:

其中:m1/N1為0層實(shí)體與塊樹對應(yīng)的相似度,m2/N2為1層實(shí)體與塊樹對應(yīng)的相似度.β為我們設(shè)定的一個調(diào)節(jié)參數(shù).

在1層實(shí)體中,若包含部分剩余數(shù)量M-m1中的區(qū)域數(shù)據(jù)項,轉(zhuǎn)為多層實(shí)體的情況.

2)1層實(shí)體數(shù)量Q1>1

對于這樣一對多的實(shí)體關(guān)聯(lián)情況來說,我們可以將這樣一個實(shí)體關(guān)聯(lián)關(guān)系拆分見圖4、5.

圖4 Q1>1的實(shí)體關(guān)聯(lián)情況

圖5 Q1>1的分解情況

將實(shí)體關(guān)聯(lián)分解后,可以看成0層實(shí)體與1層實(shí)體中任何一個單獨(dú)實(shí)體比較.在此過程中因?yàn)?層有多個實(shí)體(有效實(shí)體)與0層實(shí)體關(guān)聯(lián),每一個實(shí)體樹都可與區(qū)域塊樹計算得到一個相似度數(shù)值.設(shè)1層的有效實(shí)體個數(shù)為t1,因此我們可以得到t1個相似度值.所以Q1>1情況下的相似度計算公式為:

其中:i為1層實(shí)體的標(biāo)號,N2i為1層實(shí)體中第i個實(shí)體的數(shù)據(jù)項數(shù)目,m2i為1層實(shí)體中第i個實(shí)體包含塊中的區(qū)域數(shù)據(jù)項的數(shù)量,調(diào)節(jié)參數(shù)仍為 β.

第2種:多層實(shí)體(0-1-2…)的情況.

多層實(shí)體情況原理上與2層實(shí)體相同,我們以3層實(shí)體的情況為例.對于3層實(shí)體,分為以下4種情況:1)Q1=1,Q2=1;2)Q1=1,Q2>1;3)Q1>1,Q2=1,4)Q1>1,Q2>1.

此情況類似與Q1=1的情況.依據(jù)Q1=1研究,我們設(shè)定m3為2層實(shí)體包含塊中的剩余區(qū)域數(shù)據(jù)項.m3≥M-m1-a,所以兩棵樹的相似度為

N3為2層實(shí)體包含的數(shù)據(jù)項個數(shù).m3為2層實(shí)體包含塊中區(qū)域數(shù)據(jù)項的個數(shù).

2)Q1=1,Q2>1

此情況類似與Q1>1的情況.所以兩棵樹的相似度為

j為3層實(shí)體的標(biāo)號.N3j為2層實(shí)體中第j個實(shí)體包含的數(shù)據(jù)項的個數(shù).m3j是第j個實(shí)體包含的區(qū)域數(shù)據(jù)項的個數(shù).

同理我們得出

3)Q1>1,Q2=1,

4)Q1>1,Q2>1情況的相似度計算公式:

多層實(shí)體的情況依此類推.根據(jù)以上映射算法,我們就能計算出源模型和目標(biāo)模型之間的相似度,找到源模型和目標(biāo)模型的映射關(guān)系,最終形成映射文件來完成模型之間的映射.

5 結(jié) 語

本文從模型結(jié)構(gòu)的抽象分析出發(fā),利用樹形結(jié)構(gòu)對模型進(jìn)行描述,對模型間不同層次的映射進(jìn)行了分類,通過對模型間相似度的計算建立了模型間的映射關(guān)系,探討了模型間映射關(guān)系的建立過程以及應(yīng)遵循的基本原則,可為不同抽象層次模型之間映射關(guān)系的正確性驗(yàn)證提供依據(jù),從而對模型驅(qū)動的軟件開發(fā)提供有力的支持.

[1]楊 瀟,萬建成,侯金奎.一種基于語義重構(gòu)的模型映射方法[J].計算機(jī)工程,2007,12(23):45-47.

[2]殷曉嵐,付遠(yuǎn)彬.企業(yè)數(shù)據(jù)集成模式的研究[J].計算機(jī)工程與應(yīng)用,2002,12(3):253-255.

[3]李文武,金遠(yuǎn)平,童咪娜.半結(jié)構(gòu)化數(shù)據(jù)到結(jié)構(gòu)化數(shù)據(jù)的無損映射[J].東南大學(xué)學(xué)報,2002,4(10):192-197.

[4]侯金奎,王 鋒,張 睿.基于本體語義的模型映射研究[J].計算機(jī)科學(xué),2008,35(5):119-122.

[5]文必龍,王 瑞.一種Excel數(shù)據(jù)到結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換方法[J].佳木斯大學(xué)學(xué)報,2006,24(3):365-367.

猜你喜歡
數(shù)據(jù)項數(shù)據(jù)模型樹形
花光卉影
花卉(2024年1期)2024-01-16 11:29:12
蘋果高光效樹形改造綜合配套技術(shù)
河北果樹(2022年1期)2022-02-16 00:41:10
一種多功能抽簽選擇器軟件系統(tǒng)設(shè)計與實(shí)現(xiàn)
甘肅科技(2020年19期)2020-03-11 09:42:42
非完整數(shù)據(jù)庫Skyline-join查詢*
基于Python的Asterix Cat 021數(shù)據(jù)格式解析分析與實(shí)現(xiàn)
面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
獼猴桃樹形培養(yǎng)和修剪技術(shù)
休眠季榆葉梅自然開心樹形的整形修剪
加熱爐爐內(nèi)跟蹤數(shù)據(jù)模型優(yōu)化
電子測試(2017年12期)2017-12-18 06:35:36
面向集成管理的出版原圖數(shù)據(jù)模型
托克托县| 根河市| 孝昌县| 岢岚县| 东城区| 永川市| 宁武县| 广安市| 丽水市| 施甸县| 赤城县| 武陟县| 天津市| 清苑县| 东丰县| 炎陵县| 子洲县| 巨鹿县| 北辰区| 工布江达县| 瓦房店市| 嵊州市| 馆陶县| 大丰市| 宁国市| 永清县| 孝昌县| 花莲市| 都昌县| 东乌| 宁国市| 华坪县| 扎鲁特旗| 贵南县| 图们市| 双桥区| 阿勒泰市| 武强县| 阜新市| 桐乡市| 沧州市|