魏曉鳴
(大連民族學院計算機科學與工程學院,遼寧大連 116605)
基于對象-關系數據庫的產品族結構模型研究
魏曉鳴
(大連民族學院計算機科學與工程學院,遼寧大連 116605)
在分析產品族結構特點的基礎上,應用超圖理論,提出一種基于超圖數據結構的產品族結構模型,給出了產品族的結構和結構模型的形式化定義,運用對象-關系數據庫管理系統實現產品族的結構模型,從而給出一種新的產品族結構模型的建模方法。
大規模定制;產品族結構模型;數據庫
產品族開發和產品快速配置設計需要產品族結構模型。產品族結構模型是對系列化和組合產品各種復雜關系的綜合與表達,描述了產品及其零部件結構和各層次部件的裝配關系,其作用是描述產品對象具體存在的形式,確定產品物質處理的具體目標,其合理性是產品族開發和產品配置設計的基礎。
蔣平[1]應用樹的技術建立了產品族的結構模型;余軍合[2]應用結構化超圖模型構建了產品族結構模型;陳建等[3]應用圖論構建了一種產品族結構無向圖模型;馮梓堃等基于GBOM建立了由產品族GBOM結構和產品族選擇樹這兩部分構成的產品族結構模型[4]。
本文在分析產品族結構特點的基礎上,應用超圖理論,提出一種基于超圖數據結構的產品族結構模型,并通過對象-關系數據庫實現。
超圖的理論基礎是圖論和集合論。具有共同屬性的對象屬于一個集合,不同的抽象層次可以歸屬于集合的集合,如此構成以集合的包含關系為基礎的結構,這種結構可用超圖來表示。
在一般圖論中,邊表示的是兩個頂點之間的關系,而在超圖中,一個邊表示的是多個頂點之間的關系,包含有類的概念。例如,在面向對象的軟件設計中,對象之間的關系可以用圖的邊來表示,而類的關系則需要用超圖來表示,超圖的一個邊就代表一個類。隨著面向對象技術的發展,超圖
理論廣泛應用于軟件設計、企業過程描述、網絡綜合分析和地理信息系統設計中[5-8]。
產品結構體現了產品的組成關系,記錄了產品與其部件和零件的裝配層次關系,通常以產品樹的形式出現,如圖1。從產品結構樹可以看出:產品結構具有明顯的層次特點;產品中零部件之間的關系是多對多的關系。

圖1 產品結構樹示意圖
產品族是指那些在某個確定應用范圍內按照一定規律劃分其參數等級,用相同方法實現相同功能的技術對象(整機、部件或零件),這些技術對象應該用盡可能相同的方法制造[9]。產品族的特點是具有多種參數和性能指標,以滿足不同用戶的需要,這些參數和性能指標間具有一定的公比級差。產品族的特點決定了產品族的結構組成是一個系列產品的集合,對其抽象化以后,仍然可以表現為產品樹的形式,如圖2。

圖2 產品族結構樹示意圖
從產品族結構樹可以看出,產品族結構不僅具有一般產品結構的特點,還有不同之處。首先,節點是具有相同功能的產品/部件/零件系列(集合);其次,節點間連線代表了兩個系列產品集合之間的組合關系,即是一個關系的集合;再次,表述了一個系列產品的組成關系,即代表了一個產品平臺,一個產品對象就是這棵產品族結構樹的一個實例。產品族是由系列化產品的集合與其之間關系的集合組成。
(1)產品族結構超圖
定義1產品族結構超圖:是一個二元組H=(X,E),其中X為組成產品族的全部零件的集合;E為由零件類邊、部件邊、部件類邊、構件邊、構件類邊、產品邊、產品類(族)邊組成的集合。
在產品族的結構超圖中,零件類邊、部件邊、部件類邊、構件邊、構件類邊、產品邊、產品類(族)邊和其所包含的節點構成了產品族的結構子超圖,分別稱為零件類、部件、部件類、構件、構件類、產品、產品類子超圖。其中,零件類和部件子超圖是不可再分的,即基本子超圖;部件類、構件類、產品類的子超圖分別由部件子超圖、構件子超圖和產品子超圖構成;構件子超圖包含有部件子超圖,產品子超圖包含有部件子超圖和構件子超圖。
例如,捆鈔機的帶盤支軸部件由支軸和接盤組成,其代號和名稱見表1。在表中,帶盤支軸部件有2種,即:JL108-591000和JL106-591000。JL108-591000由零件JL108-591001和JL108-591002組成,JL106-591000由零件 JL106-591001和 JL106 -591002組成。xi(i=1,2,3,4)是相應零件在帶盤支軸部件族的結構超圖中零件符號,ej(j=3,4)是相應部件在帶盤支軸部件族的結構超圖中部件邊符號。

表1 捆鈔機帶盤支軸部件構成
帶盤支軸部件族的結構超圖為

帶盤支軸部件族的結構超圖如圖3。其中,e1、e2、e3、e4邊和其包含的節點構成基本子超圖,e3、e4邊對應的子超圖為e5的子超圖。

圖3 帶盤支軸部件族的結構超圖
(2)產品族結構超圖模型
應用面向對象技術和關系模型,對產品族結構超圖進行等價變換。可以將產品族結構超圖變換為由類節點和關系邊組成的樹狀圖形,這樣,就能夠應用樹的處理技術對產品族結構超圖進行處理。
圖3的帶盤支軸部件族的結構超圖經過變換后的圖形如圖4,其中,n1節點代表帶盤支軸類,n2節點代表接盤類,n3節點代表支軸類,表示帶盤支軸由接盤和支軸組成,邊代表組成關系的集合。據此可以定義產品族結構超圖模型及其相關概念。

圖4 變換后的帶盤支軸部件族的結構超圖
定義2部件關系:令PS是具有唯一屬性名的不同類的零件的有限集合,每一屬性可取值個數相同,且屬性值是不可分的數據單位。若A1,…,Al是PS中的若干不同屬性名,對應所屬的不同類的零件,則RC=(A1,…,Al)稱為PS上的部件關系,RC稱為部件關系名,(A1,…,Al)是部件屬性名,稱(A1,…,Al)對應值組成的向量構成的集合d(RC)是部件屬性域,value(RC)=(value(A1),value(A2),…,value(Al))是部件關系值。
部件關系描述了組成部件類的零件類成員,部件關系值描述了組成部件的零件成員。
定義3 構件關系:令CS是具有惟一屬性名的不同類部件的有限集合,每一屬性可取值個數相同,且屬性值是不可分的數據單位。若B1,…,Bm是CS中的若干不同屬性名,對應所屬的不同類的部件,則 RA=(A1,…,Al,B1,…,Bm)稱為PS∪CS上構件關系,RA稱為構件關系名。(A1,…,Al,B1,…,Bm)是構件屬性名。稱(A1,…,Al,B1,…,Bm)對應值組成的向量構成的集合 d(RA)是構件屬性域,value(RA)=(value(A1),value(A2),…,value(Al),value(B1),value(B2),…,value(Bm))是構件關系值。
構件關系描述了組成構件類的部件類和零件類成員,構件關系值描述了組成構件的部件和零件成員。
定義4產品關系:令AS是具有惟一屬性名的不同類構件的有限集合,每一屬性可取值個數相同,且屬性值是不可分的數據單位。若C1,…,Cn是AS中的若干不同屬性名,對應所屬的不同類的構件,則 RM=(A1,…,Al,B1,…,Bm,C1,…,Cn)稱為PS∪CS∪AS上的產品關系,RM稱為產品關系名。(A1,…,Al,B1,…,Bm,C1,…,Cn)是產品屬性名。稱(A1,…,Al,B1,…,Bm,C1,…,Cn)對應值組成的向量構成的集合d(RM)是產品屬性域,value(RM)=(value(A1),value(A2),…,value(Al),value(B1),value(B2),…,value(Bm) ,value(C1),value(C2),…,value(Cn))是產品關系值。
產品關系描述了組成產品類的構件類、部件類和零件類成員,產品關系值描述了組成產品的構件、部件和零件成員。
定義產品族結構的超圖模型:是一個二元組PSM=(SS,RS),其中SS為產品族的結構成員類的集合,包括:零件類的集合PS、部件類的集合CS、構件類的集合AS、產品類MS的集合;RS為產品族的結構成員類之間關系的集合,包括部件關系的集合RPS、構件關系的集合RAS、產品關系的集合RMS。
例如,對于圖3的帶盤支軸部件族的結構超圖,其結構超圖模型為
PSM_JL=(SS_JL,RS_JL),其中:
SS_JL={PS,CS},PS={ps1,ps2},ps1={x1,x2},ps2={x3,x4},CS={cs1},cs1={JL108帶盤支軸,JL106帶盤支軸};
RS_JL={RPS},RPS={(x1,x3),(x2,x4)}。
產品族結構超圖模型包含2種基本元素,一種是類的集合,一種是關系的集合。模型實現要解決2種數據的存儲和操作問題,一是零件類、部件類、構件類和產品類的數據;二是部件關系、構件關系和產品關系。采用面向對象的數據庫管理系統實現產品族結構超圖模型,不僅可以保證產品族的結構數據高效可靠地存儲,還可以提高系統的擴展能力和運行效率,并且在技術開發上思路清晰。
Oracle數據庫是應用廣泛的關系型數據庫系統,在Oracle中加入面向對象的設計技術后,數據庫的功能得到了擴充,它具有重載、繼承、多態等面向對象的特點,因而能夠描述對象間的復雜關系,更貼近現實情況。
在Oracle數據庫中,通過建立零件對象、部件對象、構件對象和產品對象來描述零件、部件、構件和產品的屬性和方法;建立零件對象表、部件對象表、構件對象表和產品對象表來描述零件類、部件類、構件類和產品類;部件關系、構件關系和產品關系用雙親表示法實現,即在零件對象、部件對象、構件對象和產品對象中都有其父節點標識。具體程序操作語句如下:
(1)對象的創建
①零件對象


(2)對象表創建和對象數據結構操作
①對象表的創建

②對象數據結構的操作
insert into componentClass_table values(componentClass('JL108 -211000Z’,’走帶膠輥部件’,’JL108 -210000’,’走帶’,’走帶壓緊……’));
該語句將屬性為(’JL108 -211000Z’,’走帶膠輥合件’,’JL108 -210000’,’走帶’,’走帶壓緊……’)的走帶膠輥部件對象插入到部件類表中。
update componentClass_table set component-Name=’走帶膠輥部件’where componentId=’JL108-211000Z’;
該語句將部件類表中的部件標識號為“JL108-211000Z”的部件對象的部件名更新為“走帶膠輥部件”。
本文在分析產品族結構特點的基礎上,應用集合論和超圖理論,給出了產品族結構超圖的形式化定義,并采用基于面向對象技術和關系模型的變換方法,對產品族結構超圖進行了等價變換,進而給出了比較系統、完整的產品族結構超圖模型的定義。在此基礎上,運用對象-關系數據庫管理系統實現了產品族結構超圖模型,并給出了關鍵的程序操作語句,從而給出了一種新的產品族結構模型的建模方法。
[1]蔣平.面向MC的產品設計方法和實現技術研究:(博士后研究工作報告)[D].北京:中國科學院軟件所,1999.
[2]余軍和,祁國寧,吳昭同.基于超圖的產品族結構模型的研究[J].中國機械工程,2003,14(2):107 -110.
[3]陳建,李方義,李劍峰,等.產品族結構無向圖模型[J].機械科學與技術,2007,26(8):1030 -1034.
[4]馮梓堃,陳新度,吳磊.基于變量驅動的GBOM產品族模型建立方法[J].機電工程,2009,26(10):1-5.
[5]楊炳儒,張德政.超圖模型:基于超圖的設計模式描述和復用實現[J].計算機工程與應用,2001,(13):46-48.
[6]何輝,黃麗華,陳麗娟.基于超圖的企業過程描述和簡化原理[J].計算機應用研究.2001,(7):86-89.
[7]許小滿,孫雨耕,楊山.超圖理論及其應用[J].電子學報,1994,22(8):65 -72.
[8]張錦.面向對象的超圖空間數據模型[J].測繪通報,1999,(5):13 -15.
[9]王忠賓,王寧生,葉文華.一種支持MCM的產品族信息模型的研究[J].南京航空航天大學學報,2002,34(3):301-305.
Research on Product Family Structure Model Based on Object-Relational Database
WEI Xiao-ming
(College of Computer Science and Engineering,Dalian Nationalities University,Dalian Liaoning 116605,China)
The product family structure model is the key technology of product design in mass customization.To solve the rationality problem of product family development,a new modeling method of product family structure model is proposed in this paper.The structure hypergraph is given as well as its formal definition.Experiments are performed using the object-relational database management system to realize the structure hypergraph model of product family.
mass customization;product family structure model;database
TP393
A
1009-315X(2012)01-0063-04
2011-11-07;最后
2011-11-11
魏曉鳴(1963-),男,黑龍江哈爾濱人,教授,博士,主要從事計算機應用技術研究。
(責任編輯 劉敏)