專利名稱:一種公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種關(guān)系數(shù)據(jù)庫映射技術(shù)
背景技術(shù):
現(xiàn)有公共信息模型(Common Information Model,簡稱“CIM”)的實現(xiàn)大多來自對象管理組織(Object Management Group,簡稱“OMG”)((Utility Management System(UMS)
Data Access Facility Specification》附錄 C-SQL Examples。該文檔提出了將 GDA
接口映射為SQL語句的范例。由此引申出一個問題:基于面向?qū)ο竽P兔枋龅腃IM模型如何映射至關(guān)系型數(shù)據(jù)庫的問題。在對象模型中,對象之間普遍存在著各種關(guān)系,如關(guān)聯(lián)、組合、聚合、繼承等,這種關(guān)系無法在關(guān)系型數(shù)據(jù)庫中直接表達,這就是產(chǎn)生了所謂的對象模型與關(guān)系模型之間的“阻抗不匹配”。為解決這些問題,當(dāng)前大多采用基于結(jié)構(gòu)映射模式的0/R(對象-關(guān)系)映射方法。通常的0/R映射方法,對對象模型的處理需要包括以下三方面內(nèi)容:1、對象映射——將對象映射至數(shù)據(jù)庫表,即用表字段來描述面向?qū)ο竽P偷念悓傩?,這樣對象就映射為具體的表記錄,數(shù)據(jù)表就表達為對象的集合,基于關(guān)系鍵映射來描述對象之間的聚合關(guān)系,如圖1所示。2、類關(guān)系映射——用數(shù)據(jù)庫表之間的關(guān)系鍵映射來描述對象之間的關(guān)系特性,由于對象之間普遍存在著一對多甚至多對多的關(guān)系,根據(jù)關(guān)系型數(shù)據(jù)庫表之間的關(guān)系鍵映射的處理方法,多對多關(guān)系需要引入第三張表即關(guān)聯(lián)表,基于關(guān)系表映射來描述對象之間的多對多關(guān)系,如圖2所示。另外對象類之間的關(guān)系還分為關(guān)聯(lián)、組合、聚合,對于前兩種關(guān)系還需描述關(guān)系的角色特性,對于對象類關(guān)系的這個特性,簡單的關(guān)系鍵映射不能直接解決該問題。3、類繼承映射一在對象模型中還存在通過繼承關(guān)系相互連接起來的類層次,由于標(biāo)準(zhǔn)的SQL里面沒有用于繼承的標(biāo)準(zhǔn)方法,所以為了在關(guān)系模型中表達對象之間這種層次關(guān)系,還需要建立數(shù)據(jù)表之間的繼承映射關(guān)系。對于任何繼承結(jié)構(gòu),目前都有三種選擇:
a、為層次中的所有類建立一個表,即單表繼承,如圖3所示;b、為每個具體類建立一個表,即具體表繼承,如圖4所示;C、為層次中每一個類建立一個表,即類表繼承,如圖5所示。本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)中采用的基于結(jié)構(gòu)映射模式的0/R(對象-關(guān)系)映射方法存在以下問題:1、表“膨脹”一可以看出整個映射模型中存在兩大類表,即對象表與關(guān)系表。在CIM對象模型中至少存在幾百個類,加上類之間的復(fù)雜關(guān)系,基于該映射方法建立起來的對象關(guān)系模型,表數(shù)量巨大,由此導(dǎo)致系統(tǒng)的可維護性很差。2、大量連接操作——由于大量關(guān)系表的存在,導(dǎo)入一個對象需要涉及多個連接(join)操作,這樣通常損失了數(shù)據(jù)庫操作性能,雖然單表繼承與具體表繼承可以避免因繼承關(guān)系帶來的連接操作,但單表繼承同時帶來了存儲空間上浪費,具體表繼承允許從一個表中取得一個對象,但由此引起系統(tǒng)的可擴展性與數(shù)據(jù)的引用完整性問題。同時對象類關(guān)系的存在仍使得對象引用時大量的連接操作不可避免。3、表記錄“膨脹”——這種情況尤其體現(xiàn)在采用類表繼承,由于每一個超類均需要保存一份子類的對應(yīng)記錄,這直接導(dǎo)致超類表記錄數(shù)增多。總之,在當(dāng)前采用基于結(jié)構(gòu)映射模式的0/R(對象-關(guān)系)映射方法來解決對象模型的大規(guī)模實際應(yīng)用,尤其是在一些涉及海量信息資源建模應(yīng)用的領(lǐng)域,如電力、石油、鐵路等行業(yè),以及當(dāng)前廣泛關(guān)注的物聯(lián)網(wǎng)應(yīng)用,由于其本身就需處理海量的“物”描述。這種映射方法顯得有些困難。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問題是提供一種CIM模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,使得在實現(xiàn)CIM模型到關(guān)系型數(shù)據(jù)庫之間映射的同時,可以滿足CIM應(yīng)用中對信息模型的任意擴展要求與引用完整性約束,避免出現(xiàn)表“膨脹”、和大量連接操作的問題。為了解決上述技術(shù)問題,本發(fā)明提供了一種CIM模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,包含以下步驟:建立CIM模型中類的元模型描述,包含類本體的描述、類屬性的描述、和類關(guān)系的描述,類關(guān)系包括類層次關(guān)系和類邏輯關(guān)系;為類的各描述分別建立元模型,生成類本體的描述類元模型、類屬性的描述類元模型、類關(guān)系的描述類元模型,和各元模型的關(guān)系;CIM模型中所有類模型均通過上述各元模型實例化得到;建立CM模型中對象的元模型描述,包含對象本體的描述、對象屬性值的描述、和對象間關(guān)系的描述;為對象的各描述分別建立元模型,生成對象本體的描述類元模型、對象屬性值的描述類元模型、對象間關(guān)系的描述類元模型,和各元模型的關(guān)系;CIM模型中所有對象模型均通過上述各元模型實例化得到;將類與對象的元模型映射至關(guān)系型數(shù)據(jù)庫,每個元模型對應(yīng)一關(guān)系表,建立由類的各元模型映射而成的模式關(guān)系表集合,與由對象的各元模型映射而成的對象關(guān)系表集合;對象關(guān)系表集合中,由各對象元模型映射得到一組對象關(guān)系表,根據(jù)對象模型的關(guān)鍵節(jié)點,為每個關(guān)鍵節(jié)點分配一組對象關(guān)系表;在對類元模型進行實例化,生成具體的類模型時,根據(jù)實例化的內(nèi)容,在模式關(guān)系表集合中對應(yīng)的關(guān)系表中新增記錄;在對對象元模型進行實例化,生成具體的對象模型時,根據(jù)實例化的內(nèi)容和該對象模型所屬的關(guān)鍵節(jié)點,在對象關(guān)系表集合中該關(guān)鍵節(jié)點所對應(yīng)的一組對象關(guān)系表中相應(yīng)的關(guān)系表中新增記錄。作為上述技術(shù)方案的改進,類本體的描述類元模型、類屬性的描述類元模型、類關(guān)系的描述類元模型的關(guān)系包含:類本體的描述類元模型自身具有繼承關(guān)系;類本體的描述類元模型與類關(guān)系的描述類元模型之間具有定義域關(guān)系,用于表明類關(guān)系的描述類所表達的具體關(guān)系由哪個類所擁有;類本體的描述類元模型與類屬性的描述類元模型之間具有從屬關(guān)系,用于表明類屬性的描述類所表達的具體類屬性由哪個類所擁有。作為上述技術(shù)方案的改進,對象本體的描述類元模型類為類本體的描述類元模型的實例;對象屬性值的描述類元模型為類屬性的描述類元模型的實例;對象間關(guān)系的描述類元模型為類關(guān)系的描述類元模型的實例。作為上述技術(shù)方案的改進,建立CM模型中類的元模型描述的步驟中,所建立的描述還包含:基本數(shù)據(jù)類型的描述;為對象的各描述分別建立元模型的步驟中,還生成基本數(shù)據(jù)類型的描述類元模型;基本數(shù)據(jù)類型的描述類元模型與類屬性的描述類元模型之間具有關(guān)聯(lián)關(guān)系,用于表明類屬性的描述類所表達的具體類屬性使用哪種數(shù)據(jù)類型。作為上述技術(shù)方案的改進,建立CM模型中類的元模型描述的步驟中,所建立的描述還包含:簡單數(shù)據(jù)類型的描述;為對象的各描述分別建立元模型的步驟中,還生成簡單數(shù)據(jù)類型的描述類元模型;基本數(shù)據(jù)類型的描述類元模型與簡單數(shù)據(jù)類型的描述類元模型之間具有組合關(guān)系O作為上述技術(shù)方案的改進,將類與對象的元模型映射至關(guān)系型數(shù)據(jù)庫,每個元模型對應(yīng)一關(guān)系表的步驟中,元模型中包含的每個元素對應(yīng)關(guān)系表中的一項。作為上述技術(shù)方案的改進,類本體的描述類元模型包含以下元素:類標(biāo)識、類名稱、類版型、和/或類基類;類屬性的描述類元模型包含以下元素:屬性標(biāo)識、屬性名稱、屬性變量類型、所屬類、和/或注釋;類關(guān)系的描述類元模型包含以下元素:關(guān)系標(biāo)識、關(guān)系名稱、重數(shù)、是否聚集、關(guān)系的定義域、關(guān)系的值域、反向角色名、和
/或注釋。作為上述技術(shù)方案的改進,基本數(shù)據(jù)類型的描述類元模型包含以下元素:基本數(shù)據(jù)類型標(biāo)識、類或結(jié)構(gòu)的名稱、類的版型、和/或注釋。作為上述技術(shù)方案的改進,簡單數(shù)據(jù)類型的描述類元模型包含以下元素:變量名、變量類型、變量初始值、和/或所屬基本數(shù)據(jù)類型。作為上述技術(shù)方案的改進,對象本體的描述類元模型包含以下元素:對象標(biāo)識、對象名稱、類標(biāo)識、和/或?qū)ο箨P(guān)系實例標(biāo)識;對象屬性值的描述類元模型包含以下元素:屬性值標(biāo)識、屬性名稱、值類型、值數(shù)據(jù)、所屬對象標(biāo)識、屬性標(biāo)識;對象間關(guān)系的描述類元模型包含以下元素:關(guān)系標(biāo)識、所屬對象標(biāo)識、類關(guān)系標(biāo)識。
本發(fā)明實施方式與現(xiàn)有技術(shù)相比,主要區(qū)別及其效果在于:先分別建立類與對象的元模型描述,這樣有關(guān)類與對象的語義差別在各自的元模型體系中得到消除;然后將元模型映射至關(guān)系型數(shù)據(jù)庫,通過這樣的映射將建立兩種元模型的數(shù)據(jù)庫表,即由類元模型映射而成的模式關(guān)系表集合(稱之為模式庫)與對象元模型映射而成的對象關(guān)系表集合(稱之為對象庫)。經(jīng)過這種方法建立起來的數(shù)據(jù)庫,表數(shù)量有限,而且由于元模型是通用的,這意味著表結(jié)構(gòu)是穩(wěn)定的,可以滿足CIM應(yīng)用中對信息模型的任意擴展要求與引用完整性約束。并且,在表數(shù)量有限的情況下,也可以避免大量的連接操作,而且表之間的關(guān)系預(yù)先知道,完全可以通過關(guān)系型數(shù)據(jù)庫的存儲過程來避免動態(tài)生成SQL語句,進一步提供系統(tǒng)性能。對于模式庫來說,由于實際應(yīng)用中CIM模型的模式類是相對有限的,基于模式庫中的幾張基本表來存儲所有模式類已經(jīng)足夠了。但對于對象庫,要存儲海量的信息模型,依靠3張基本表來容納整個信息模型,將會出現(xiàn)表記錄的“膨脹”問題。因此,本發(fā)明實施方式中按對象模型的關(guān)鍵節(jié)點來組織對象庫,通過該方式,不僅解決了表記錄“膨脹”問題,而且結(jié)合CM的實際應(yīng)用,通常將一些可部署對象設(shè)置為關(guān)鍵節(jié)點,則從根本上解決了模型的分布式部署應(yīng)用需求。
圖1是背景技術(shù)中基于關(guān)系鍵映射來描述對象之間的聚合關(guān)系的示意圖;圖2是背景技術(shù)中基于關(guān)系表映射來描述對象之間的多對多關(guān)系的示意圖;圖3是背景技術(shù)中單表繼承示意圖;圖4是背景技術(shù)中具體表繼承示意圖;圖5是背景技術(shù)中類表繼承示意圖;圖6是本發(fā)明一較佳實施方式中類模型與關(guān)系型數(shù)據(jù)庫之間的映射流程圖;圖7是本發(fā)明一較佳實施方式中CIM模型中類的兀模型UML描述不意圖;圖8是本發(fā)明一較佳實施方式中模式庫的基本表之間的關(guān)系鍵映射不意圖;圖9是本發(fā)明一較佳實施方式中對象模型與關(guān)系型數(shù)據(jù)庫之間的映射流程圖;圖10是本發(fā)明一較佳實施方式中對象庫的基本表之間的關(guān)系鍵映射示意圖;圖11是本發(fā)明一較佳實施方式中按對象模型的關(guān)鍵節(jié)點來分配關(guān)系表的示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的實施方式作進一步地詳細描述。本發(fā)明一較佳實施方式涉及一種CIM模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,是針對CM的一種具體實現(xiàn)技術(shù)。CIM是用面向?qū)ο蟮慕<夹g(shù)定義的,根據(jù)面向?qū)ο罄碚?,對象是類的實例,類是對具有相同屬性與行為的一組事物的抽象描述。類之間還具有關(guān)系,這種關(guān)系包括類層次關(guān)系(即繼承)與類邏輯關(guān)系(如關(guān)聯(lián)、組合等);本發(fā)明的發(fā)明人發(fā)現(xiàn),由于定義CIM是為了方便數(shù)據(jù)交換,因此CIM實體除了缺省的生成、刪除、更新和讀出外,沒有其它行為,也即CIM中定義的類只有0.屬性,沒有行為方法的定義,從而類、對象以及它們之間的關(guān)系是可以通過各自的元模型來統(tǒng)一建模描述。
因此本發(fā)明的基本思路是:先分別建立類與對象的元模型描述,這樣有關(guān)類與對象的語義差別在各自的元模型體系中得到消除;然后將元模型映射至關(guān)系型數(shù)據(jù)庫,通過這樣的映射將建立兩種兀模型的數(shù)據(jù)庫表,即由類兀模型映射而成的模式關(guān)系表集合(稱之為模式庫)與對象元模型映射而成的對象關(guān)系表集合(稱之為對象庫)。經(jīng)過這種方法建立起來的數(shù)據(jù)庫,表數(shù)量有限(類元模型關(guān)系表為5張基本表、對象元模型關(guān)系表為3張基本表),而且由于元模型是通用的,這意味著表結(jié)構(gòu)是穩(wěn)定的,可以滿足CIM應(yīng)用中對信息模型的任意擴展要求與引用完整性約束。并且,在表數(shù)量有限的情況下,也可以避免大量的連接操作,而且表之間的關(guān)系預(yù)先知道,完全可以通過關(guān)系型數(shù)據(jù)庫的存儲過程來避免動態(tài)生成SQL語句,進一步提供系統(tǒng)性能??梢姡鄬τ诂F(xiàn)有技術(shù)中采用結(jié)構(gòu)映射方法來實現(xiàn)關(guān)系型數(shù)據(jù)庫的映射,本發(fā)明采用基于元模型的映射方法實現(xiàn)類模型和對象模型統(tǒng)一映射至關(guān)系型數(shù)據(jù)庫,基本上可以消除現(xiàn)有技術(shù)中表“膨脹”、和大量連接操作的缺點,是對CIM實現(xiàn)方法的一種很大改進。另外,由于元模型是通用的,且結(jié)構(gòu)是穩(wěn)定,也即在系統(tǒng)生命周期內(nèi)不會隨CM模型的改變以及系統(tǒng)應(yīng)用目的、業(yè)務(wù)類型的改變而改變,因此我們在元模型映射時采用具體表繼承來消除元模型描述類的繼承關(guān)系。具體類模型與關(guān)系型數(shù)據(jù)庫之間的映射流程如圖6所示。步驟601中,建立CM模型中類的元模型UML描述,包含三個基本的元模型描述:類本體的描述(Class)、類屬性的描述(Property)、和類關(guān)系的描述(Relation),如圖7所示。其中,類關(guān)系包括類層次關(guān)系(即繼承)、和類邏輯關(guān)系(如關(guān)聯(lián)、組合等)。另外,根據(jù)面向?qū)ο蟊硎痉椒?,每一個CIM類屬性都具有一個數(shù)據(jù)類型,因此在類的元模型描述中還包含了基本數(shù)據(jù)類型的描述(Datatype);并且,在CIM建模規(guī)范中,除了簡單的數(shù)據(jù)類型(包括整型、浮點型、字符串型、布爾型等)外,某些數(shù)據(jù)類型還建模有單位、倍率、初始值等,因此還包含了簡單數(shù)據(jù)類型的描述(Variant)。步驟602中,為類的各描述分別建立元模型,生成類本體的描述類元模型(Class類)、類屬性的描述類元模型(Property類)、類關(guān)系的描述類元模型(Relation類),和基本數(shù)據(jù)類型的描述類元模型(Datatype類)、簡單數(shù)據(jù)類型的描述類元模型(Variant類);以及各元模型的關(guān)系。CIM模型中所有類模型均可以通過上述各元模型實例化得到。其中,如圖7所示,上述Class類、Property類、Relation類三個元模型類具有建豐吳關(guān)系如下:Class類自身具有的SubclassOf關(guān)系(表示是......的子類)表示CIM類之間
的層次關(guān)系(即繼承);Class類與Relation類之間具有的Domain關(guān)系(定義域)用來說明Relation類所表達的CM關(guān)系為哪個CM類所擁有,兩者之間的Range關(guān)系(值域)用來說明Relation類所表達的CM關(guān)系指向哪個CM類;Class類與Property類之間具有的Properties關(guān)系(從屬)用來說明Property類所表達的CM類屬性為哪個類所擁有。根據(jù)面向?qū)ο蟊硎痉椒?,每一個CIM類屬性都具有一個數(shù)據(jù)類型。因此在類的元模型中使用了 DataType這個類來建模相關(guān)的CIM類屬性使用哪一種數(shù)據(jù)類型,另外在CM建模規(guī)范中,除了簡單的數(shù)據(jù)類型(包括整型、浮點型、字符串型、布爾型等)外,某些數(shù)據(jù)類型還建模有單位、倍率、初始值等,因此引入Variant類對這些構(gòu)成數(shù)據(jù)類型的要素進行了建模。步驟603中,將類的元模型映射至關(guān)系型數(shù)據(jù)庫,每個元模型對應(yīng)一關(guān)系表,共5張基本表,建立由類的各元模型映射而成的模式關(guān)系表集合(稱為模式庫)。元模型中包含的每個元素對應(yīng)關(guān)系表中的一項成員變量。類本體的描述類元模型包含以下元素:類標(biāo)識、類名稱、類版型、類基類;對應(yīng)的表結(jié)構(gòu)如表I所不:
權(quán)利要求
1.一種公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,包含以下步驟: 建立公共信息模型中類的元模型描述,包含類本體的描述、類屬性的描述、和類關(guān)系的描述,所述類關(guān)系包括類層次關(guān)系和類邏輯關(guān)系; 為所述類的各描述分別建立元模型,生成類本體的描述類元模型、類屬性的描述類元模型、類關(guān)系的描述類元模型,和各元模型的關(guān)系;所述公共信息模型中所有類模型均通過上述各元模型實例化得到; 建立公共信息模型中對象的元模型描述,包含對象本體的描述、對象屬性值的描述、和對象間關(guān)系的描述; 為所述對象的各描述分別建立元模型,生成對象本體的描述類元模型、對象屬性值的描述類元模型、對象間關(guān)系的描述類元模型,和各元模型的關(guān)系;所述公共信息模型中所有對象模型均通過上述各元模型實例化得到; 將所述類與對象的元模型映射至關(guān)系型數(shù)據(jù)庫,每個元模型對應(yīng)一關(guān)系表,建立由類的各元模型映射而成的模式關(guān)系表集合,與由對象的各元模型映射而成的對象關(guān)系表集合; 所述對象關(guān)系表集合中,由所述各對象元模型映射得到一組對象關(guān)系表,根據(jù)對象模型的關(guān)鍵節(jié)點,為每個關(guān)鍵節(jié)點分配一組所述對象關(guān)系表; 在對類元模型進行實例化,生成具體的類模型時,根據(jù)實例化的內(nèi)容,在所述模式關(guān)系表集合中對應(yīng)的關(guān)系表中新增記錄; 在對對象元模型進行實例化,生成具體的對象模型時,根據(jù)實例化的內(nèi)容和該對象模型所屬的關(guān)鍵節(jié)點,在所述對象關(guān)系表集合中該關(guān)鍵節(jié)點所對應(yīng)的一組對象關(guān)系表中相應(yīng)的關(guān)系表中新增記錄。
2.根據(jù)權(quán)利要求1所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述類本體的描述類元模型、類屬性的描述類元模型、類關(guān)系的描述類元模型的關(guān)系包含: 所述類本體的描述類元模型自身具有繼承關(guān)系; 所述類本體的描述類元模型與所述類關(guān)系的描述類元模型之間具有定義域關(guān)系,用于表明所述類關(guān)系的描述類所表達的具體關(guān)系由哪個類所擁有; 所述類本體的描述類元模型與所述類屬性的描述類元模型之間具有從屬關(guān)系,用于表明所述類屬性的描述類所表達的具體類屬性由哪個類所擁有。
3.根據(jù)權(quán)利要求2所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述對象本體的描述類元模型類為所述類本體的描述類元模型的實例; 所述對象屬性值的描述類元模型為所述類屬性的描述類元模型的實例; 所述對象間關(guān)系的描述類元模型為所述類關(guān)系的描述類元模型的實例。
4.根據(jù)權(quán)利要求1所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述建立公共信息模型中類的元模型描述的步驟中,所建立的描述還包含:基本數(shù)據(jù)類型的描述; 所述為對象的各描述分別建立元模型的步驟中,還生成基本數(shù)據(jù)類型的描述類元模型; 所述基本數(shù)據(jù)類型的描述類元模型與所述類屬性的描述類元模型之間具有關(guān)聯(lián)關(guān)系,用于表明所述類屬性的描述類所表達的具體類屬性使用哪種數(shù)據(jù)類型。
5.根據(jù)權(quán)利要求4所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述建立公共信息模型中類的元模型描述的步驟中,所建立的描述還包含:簡單數(shù)據(jù)類型的描述; 所述為對象的各描述分別建立元模型的步驟中,還生成簡單數(shù)據(jù)類型的描述類元模型; 所述基本數(shù)據(jù)類型的描述類元模型與所述簡單數(shù)據(jù)類型的描述類元模型之間具有組合關(guān)系。
6.根據(jù)權(quán)利要求1至5中任意一項所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述將類與對象的元模型映射至關(guān)系型數(shù)據(jù)庫,每個元模型對應(yīng)一關(guān)系表的步驟中, 所述元模型中包含的每個元素對應(yīng)關(guān)系表中的一項。
7.根據(jù)權(quán)利要求6所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述類本體的描述類元模型包含以下元素: 類標(biāo)識、類名稱、類版型、和/或類基類; 所述類屬性的描述類元模型包含以下元素: 屬性標(biāo)識、屬性名稱、屬性變量類型、所屬類、和/或注釋; 所述類關(guān)系的描述類元模型包含以`下元素: 關(guān)系標(biāo)識、關(guān)系名稱、重數(shù)、是否聚集、關(guān)系的定義域、關(guān)系的值域、反向角色名、和/或注釋。
8.根據(jù)權(quán)利要求6所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述基本數(shù)據(jù)類型的描述類元模型包含以下元素: 基本數(shù)據(jù)類型標(biāo)識、類或結(jié)構(gòu)的名稱、類的版型、和/或注釋。
9.根據(jù)權(quán)利要求6所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述簡單數(shù)據(jù)類型的描述類元模型包含以下元素: 變量名、變量類型、變量初始值、和/或所屬基本數(shù)據(jù)類型。
10.根據(jù)權(quán)利要求6所述的公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,其特征在于,所述對象本體的描述類元模型包含以下元素: 對象標(biāo)識、對象名稱、類標(biāo)識、和/或?qū)ο箨P(guān)系實例標(biāo)識; 所述對象屬性值的描述類元模型包含以下元素: 屬性值標(biāo)識、屬性名稱、值類型、值數(shù)據(jù)、所屬對象標(biāo)識、屬性標(biāo)識; 所述對象間關(guān)系的描述類元模型包含以下元素: 關(guān)系標(biāo)識、所屬對象標(biāo)識、類關(guān)系標(biāo)識。
全文摘要
本發(fā)明公開了一種CIM模型與關(guān)系型數(shù)據(jù)庫之間的映射方法,先分別建立類與對象的元模型描述,這樣有關(guān)類與對象的語義差別在各自的元模型體系中得到消除;然后將元模型映射至關(guān)系型數(shù)據(jù)庫,通過這樣的映射將建立兩種元模型的數(shù)據(jù)庫表,即由類元模型映射而成的模式關(guān)系表集合(稱之為模式庫)與對象元模型映射而成的對象關(guān)系表集合(稱之為對象庫)。經(jīng)過這種方法建立起來的數(shù)據(jù)庫,表數(shù)量有限,而且由于元模型是通用的,這意味著表結(jié)構(gòu)是穩(wěn)定的,可以滿足CIM應(yīng)用中對信息模型的任意擴展要求與引用完整性約束。
文檔編號G06F17/30GK103186628SQ20111045848
公開日2013年7月3日 申請日期2011年12月31日 優(yōu)先權(quán)日2011年12月31日
發(fā)明者俞高宇, 林 吉, 梁俊 申請人:上??婶斚到y(tǒng)軟件有限公司