[發(fā)明專利]一種公共信息模型與關(guān)系型數(shù)據(jù)庫之間的映射方法有效
| 申請?zhí)枺?/td> | 201110458483.6 | 申請日: | 2011-12-31 |
| 公開(公告)號: | CN103186628A | 公開(公告)日: | 2013-07-03 |
| 發(fā)明(設(shè)計)人: | 俞高宇;林吉;梁俊 | 申請(專利權(quán))人: | 上海可魯系統(tǒng)軟件有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 201203 上海市浦*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 公共 信息 模型 關(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)系模型之間的“阻抗不匹配”。為解決這些問題,當前大多采用基于結(jié)構(gòu)映射模式的O/R(對象-關(guān)系)映射方法。
通常的O/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)系相互連接起來的類層次,由于標準的SQL里面沒有用于繼承的標準方法,所以為了在關(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)映射模式的O/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ù)增多。
總之,在當前采用基于結(jié)構(gòu)映射模式的O/R(對象-關(guān)系)映射方法來解決對象模型的大規(guī)模實際應(yīng)用,尤其是在一些涉及海量信息資源建模應(yīng)用的領(lǐng)域,如電力、石油、鐵路等行業(yè),以及當前廣泛關(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模型中所有類模型均通過上述各元模型實例化得到;
建立CIM模型中對象的元模型描述,包含對象本體的描述、對象屬性值的描述、和對象間關(guān)系的描述;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海可魯系統(tǒng)軟件有限公司,未經(jīng)上海可魯系統(tǒng)軟件有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110458483.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





