王明釗,戎文娟,王佳琳,王永威,撒瑩瑩
(1.先進(jìn)成形技術(shù)與裝備國家重點實驗室,北京100083;2.北京機(jī)科國創(chuàng)輕量化科學(xué)研究院有限公司,北京 100083)
數(shù)據(jù)庫是一門研究數(shù)據(jù)存儲、數(shù)據(jù)檢索和數(shù)據(jù)處理等內(nèi)容的學(xué)科,是計算機(jī)科學(xué)的重要組成部分,是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨立的數(shù)據(jù)集合。數(shù)據(jù)庫與計算機(jī)系統(tǒng)共同組成數(shù)據(jù)庫系統(tǒng),主要由數(shù)據(jù)庫及其管理系統(tǒng)、應(yīng)用系統(tǒng)、開發(fā)工具、數(shù)據(jù)庫用戶和管理員等組成。1960年國際商業(yè)機(jī)器(International Business Machines,IBM)公司推出數(shù)據(jù)庫管理系統(tǒng),標(biāo)志著數(shù)據(jù)庫技術(shù)誕生。此后,數(shù)據(jù)庫技術(shù)在各行各業(yè)得到迅猛發(fā)展,在信息管理、科學(xué)研究、企業(yè)管理、辦公自動化和計算機(jī)輔助設(shè)計等領(lǐng)域已發(fā)展成為不可或缺的重要組成部分。在機(jī)械加工、化工生產(chǎn)和電力能源等傳統(tǒng)產(chǎn)業(yè)中,工藝數(shù)據(jù)庫系統(tǒng)的應(yīng)用促使其原有的生產(chǎn)方式發(fā)生了巨大變化,產(chǎn)品價值得到了進(jìn)一步提升。近年來,與數(shù)據(jù)庫相關(guān)的信息技術(shù)在船舶制造領(lǐng)域也得到了大量應(yīng)用,例如切割工藝數(shù)據(jù)、成形工藝數(shù)據(jù)庫和涂裝工藝數(shù)據(jù)庫等。此外,由工藝數(shù)據(jù)庫衍生出的專家系統(tǒng)和數(shù)據(jù)挖掘等技術(shù)對傳統(tǒng)產(chǎn)業(yè)的生產(chǎn)、安全和管理產(chǎn)生了深遠(yuǎn)的影響。
傳統(tǒng)的數(shù)據(jù)庫設(shè)計流程見圖1,雖然工藝數(shù)據(jù)庫技術(shù)在傳統(tǒng)產(chǎn)業(yè)信息化發(fā)展中發(fā)揮了重要作用,但其在實際的工藝數(shù)據(jù)庫設(shè)計中還存在一些問題和缺陷。在需求分析中,由于不同工藝的復(fù)雜性不同,設(shè)計者需耗費大量的時間和精力,且因工藝過程的特殊性和多樣性,不同工藝數(shù)據(jù)庫之間的需求分析方面的資料通常無法共享。在進(jìn)行概念結(jié)構(gòu)設(shè)計過程中,傳統(tǒng)的概念結(jié)構(gòu)設(shè)計方法提供了E-R(Entity Relationship)圖的基本作圖方法,但并未提供E-R圖整體框架和結(jié)構(gòu)布局等設(shè)計方法。在邏輯結(jié)構(gòu)設(shè)計中,規(guī)定了E-R 圖轉(zhuǎn)換成邏輯結(jié)構(gòu)的基本原則,但并沒有針對工藝自身的特點對工藝過程提出具體的優(yōu)化方法。
圖1 傳統(tǒng)的數(shù)據(jù)庫設(shè)計流程
本文針對工藝數(shù)據(jù)庫設(shè)計中存在的問題,在進(jìn)行需求分析過程中提出9 要素分析法,為設(shè)計者提供清晰明確的需求分析范圍和方向。在進(jìn)行概念結(jié)構(gòu)設(shè)計過程中,基于9 要素分析法設(shè)計了通用的E-R圖,整體框架和結(jié)構(gòu)布局。在設(shè)計邏輯結(jié)構(gòu)過程中提出2 種邏輯結(jié)構(gòu)的優(yōu)化方法,解決數(shù)據(jù)庫存在的結(jié)構(gòu)復(fù)雜、數(shù)據(jù)冗余和讀寫頻繁等問題。最后,為驗證該方法在工藝數(shù)據(jù)庫設(shè)計中的通用性和可行性,針對船舶制造領(lǐng)域中的裝配工藝,設(shè)計了裝配工藝數(shù)據(jù)庫接口系統(tǒng),在船企進(jìn)行了推廣和應(yīng)用。
由于不同領(lǐng)域、不同環(huán)節(jié)的工藝過程具有特殊性和多樣性,需求分析的資料通常無法共享,因此工藝數(shù)據(jù)庫設(shè)計的需求分析往往需耗費大量的時間和精力。本文針對智能化的工藝過程提出一種9 要素分析法,為工藝數(shù)據(jù)庫的需求分析提供清晰明確的范圍和方向,減少需求分析的工作量并降低工作難度。
9 要素分析法將工藝過程中影響工藝的要素分為原料、產(chǎn)品、規(guī)范、環(huán)境、人員、設(shè)備、方法、時間和其他等9 個類別,見圖2。
圖2 9要素分析法
1)原料包括對象和屬性,其中:對象是指參與該工藝過程的輸入資源;屬性是指原料自身具有的能影響該工藝過程的特征。
2)產(chǎn)品包括對象和檢測,其中:對象是指該工藝工程最終輸出的結(jié)果或產(chǎn)品,產(chǎn)品是整個工藝過程的直接“動力”來源;檢測既是衡量產(chǎn)品質(zhì)量的直接指標(biāo),又是評價工藝過程的直接指標(biāo)。
3)規(guī)范是指執(zhí)行該工藝過程遵循的規(guī)范和標(biāo)準(zhǔn)。若不同企業(yè)在執(zhí)行相同的工藝時遵循的工藝標(biāo)準(zhǔn)或企業(yè)規(guī)范不同,最終會導(dǎo)致工藝過程和產(chǎn)品的質(zhì)量不同。
4)環(huán)境是指工藝過程中可能對工藝產(chǎn)生影響的環(huán)境因素。
5)人員包括參與該工藝過程的設(shè)計人員和操作人員(或人員集合)。
6)設(shè)備是指該工藝過程中的相關(guān)執(zhí)行設(shè)備(或設(shè)備集合),包括設(shè)備編號、控制參數(shù)和實時狀態(tài)等3部分。
7)方法是指與工藝過程設(shè)計相關(guān)的因素,包括方法類型、設(shè)計參數(shù)(非設(shè)備控制參數(shù))和操作順序。方法類型標(biāo)識采用何種方式實現(xiàn)該工藝過程;設(shè)計參數(shù)是指設(shè)備控制參數(shù)以外的一些與設(shè)計相關(guān)的參數(shù);操作順序是指該工藝過程中特定的先后順序。
8)時間是指工藝過程執(zhí)行的開始時間和結(jié)束時間,從時間維度記錄工藝過程的特征。
除了以上8 個特定要素以外,不同領(lǐng)域的工藝過程可能還包含一些其他特有因素,且隨著科學(xué)技術(shù)的不斷發(fā)展,新技術(shù)、新革命可能促使現(xiàn)有的工藝過程發(fā)生變化,產(chǎn)生新的工藝要素,這些要素均可歸為其他要素。
概念結(jié)構(gòu)設(shè)計的目標(biāo)是產(chǎn)生反映需求信息的數(shù)據(jù)庫概念結(jié)構(gòu),實現(xiàn)從現(xiàn)實世界到概念模型的轉(zhuǎn)換,其通常采用E-R圖表示。雖然E-R圖提供了基本的設(shè)計方法,但并沒有關(guān)于整體框架的通用模型和設(shè)計方法。本文設(shè)計通用的E-R圖模型,為工藝數(shù)據(jù)庫的設(shè)計提供參考。
基于9 要素分析法的E-R圖通用模型見圖3,其中:
圖3 概念結(jié)構(gòu)設(shè)計圖(E-R圖)通用模型
1)實體集是指具有相同屬性的同一類實體的集合,如原料和產(chǎn)品等,用矩形框表示;
2)屬性是指實體所具有的特征和性質(zhì),如開始時間和結(jié)束時間等,用橢圓形框表示;
3)聯(lián)系和聯(lián)系集是指2個或2 個以上的實體集之間的關(guān)聯(lián)關(guān)系,如參與和包括等,用菱形框表示;
4)實體集之間的聯(lián)系表示實體集之間的數(shù)量關(guān)系,分為一對一(1 ∶1)、一對多(1 ∶N)和多對多(M∶N),用平行四邊形框表示。
根據(jù)9 要素分析法,通用E-R模型以“工藝”為核心構(gòu)造,關(guān)聯(lián)原料、產(chǎn)品、規(guī)范、環(huán)境、設(shè)計人員、操作人員、設(shè)備、控制參數(shù)、方法類型、設(shè)計參數(shù)和操作順序;其中與工藝相關(guān)的關(guān)鍵屬性為開始時間、結(jié)束時間和其他。
在實際設(shè)計工藝數(shù)據(jù)庫時,設(shè)計者根據(jù)工藝數(shù)據(jù)庫需求調(diào)研結(jié)果,對圖3 所示通用模型中的實體和屬性進(jìn)行增加或刪除,即可初步構(gòu)造出工藝數(shù)據(jù)庫E-R圖的整體架構(gòu)。
邏輯結(jié)構(gòu)設(shè)計是將E-R圖轉(zhuǎn)換為關(guān)系型數(shù)據(jù)庫支持的數(shù)據(jù)模型的邏輯結(jié)構(gòu)的過程。邏輯結(jié)構(gòu)設(shè)計主要根據(jù)實體集之間的關(guān)系類型(1∶1、1∶N、M∶N)將E-R圖轉(zhuǎn)換成具體的邏輯結(jié)構(gòu),遵循3 范式法則。雖然3范式法則提供有將E-R圖轉(zhuǎn)換成邏輯結(jié)構(gòu)的標(biāo)準(zhǔn)方法,但在實際應(yīng)用過程中,根據(jù)標(biāo)準(zhǔn)方法設(shè)計的數(shù)據(jù)庫系統(tǒng)會存在一些問題。如圖3 所示,通用E-R模型中含有多個M∶N 關(guān)系類型,根據(jù)3 范式法則,每個M∶N 關(guān)系類型在進(jìn)行邏輯結(jié)構(gòu)設(shè)計時都要額外產(chǎn)生一個關(guān)系表。在實際的數(shù)據(jù)庫系統(tǒng)中,關(guān)系表過多會導(dǎo)致數(shù)據(jù)庫結(jié)構(gòu)復(fù)雜、數(shù)據(jù)冗余和多次讀寫數(shù)據(jù)庫,既不利于應(yīng)用程序的開發(fā),又不利于后續(xù)的數(shù)據(jù)庫維護(hù)。本文通過對邏輯結(jié)構(gòu)進(jìn)行設(shè)計優(yōu)化,解決概念結(jié)構(gòu)設(shè)計中存在的某些問題。
1.3.1 M∶N關(guān)系類型的邏輯實現(xiàn)
E-R圖通用模型中原料與工藝實體集的關(guān)系類型為M∶N 類型,如圖4 所示。按照3 范式法則,在邏輯結(jié)構(gòu)設(shè)計過程中,為了能表示工藝與原料之間的關(guān)系,除了設(shè)計工藝表和原料表以外,還需要設(shè)計原料與工藝的關(guān)系表,3 個表的結(jié)構(gòu)見表1。
表1 M∶N關(guān)系類型表格結(jié)構(gòu)
圖4 M∶N關(guān)系類型的邏輯結(jié)構(gòu)設(shè)計
上述設(shè)計方法可在數(shù)據(jù)結(jié)構(gòu)上建立工藝與原料的關(guān)系,但存在2 個缺陷:
1)除了工藝表和原料表以外,增加了關(guān)系表,數(shù)據(jù)庫的結(jié)構(gòu)更加復(fù)雜;
2)在原料表數(shù)據(jù)已存在的情況下,若執(zhí)行1 次工藝數(shù)據(jù)的寫操作,需進(jìn)行1 次(工藝表)+X 次(關(guān)系表)數(shù)據(jù)庫的操作。
1.3.2 M∶N關(guān)系類型的優(yōu)化1
雖然關(guān)系表可實現(xiàn)M∶N 關(guān)系類型的數(shù)據(jù)關(guān)聯(lián),但系統(tǒng)錄入1 次工藝數(shù)據(jù),就需向關(guān)系表中插入多條工藝與原料的關(guān)系數(shù)據(jù)。若這種數(shù)據(jù)庫操作次數(shù)較多,會影響整個數(shù)據(jù)庫的運行效率。在某些實際的工藝過程中,參與工藝過程的原料數(shù)量一般是固定不變的,即使某些工藝過程中原料數(shù)量不固定,參與單次工藝過程的原料數(shù)量也有上限(設(shè)上限值為Q)。因此,通過在工藝實體中增加固定數(shù)量的屬性,用于表征工藝與原料之間的關(guān)系,即可實現(xiàn)邏輯結(jié)構(gòu)設(shè)計的優(yōu)化。優(yōu)化后的邏輯結(jié)構(gòu)見圖5,工藝表結(jié)構(gòu)見表2。
表2 優(yōu)化后的工藝表結(jié)構(gòu)
圖5 M∶N關(guān)系類型優(yōu)化1
在優(yōu)化后的工藝表中增加Q 個原料屬性(materials_id_1、materials_id_2、…、materials_id_Q),能實現(xiàn)工藝與原料的數(shù)據(jù)關(guān)聯(lián),省略工藝與原料的關(guān)系表,簡化數(shù)據(jù)庫整體結(jié)構(gòu),更直觀地反映工藝與原料的關(guān)系。同時,在程序?qū)嶋H運行過程中,系統(tǒng)執(zhí)行1 次數(shù)據(jù)庫的操作指令即可完成對工藝數(shù)據(jù)的讀寫操作,能減少數(shù)據(jù)庫的讀寫次數(shù),提高系統(tǒng)運行的效率和穩(wěn)定性。
1.3.3 M∶N關(guān)系類型的優(yōu)化2
在圖3 中,設(shè)計參數(shù)與工藝、控制參數(shù)與工藝之間的關(guān)系為M∶N關(guān)系類型。單次工藝過程中的設(shè)計參數(shù)(或控制參數(shù))的數(shù)量極有可能會隨著新技術(shù)發(fā)展而發(fā)生變化,且在設(shè)計開發(fā)數(shù)據(jù)庫時無法確定設(shè)計參數(shù)數(shù)量的上限。因此,第1.3.2 節(jié)中的設(shè)計方法并不適用于這種情況,需按第1.3.1 節(jié)中的方法設(shè)計工藝與設(shè)計參數(shù)的關(guān)系,設(shè)單次工藝中有K個設(shè)計參數(shù),其中工藝與設(shè)計參數(shù)關(guān)系表中的數(shù)據(jù)見表3。
表3 工藝與設(shè)計參數(shù)關(guān)系表中的數(shù)據(jù)
在某些工藝過程中,1 種設(shè)計參數(shù)的集合(或控制參數(shù)的集合)可能適用于多次甚至大多數(shù)同類工藝過程,但每個工藝過程都需向工藝與設(shè)計參數(shù)關(guān)系表中添加多次數(shù)據(jù),因此這些設(shè)計數(shù)據(jù)是重復(fù)的。如表4 所示,工藝過程1(process_id=1)和工藝過程M(process_id=M)使用了同樣的設(shè)計參數(shù)(design_id =1,2,3,…,K),在關(guān)系表中記錄了重復(fù)的設(shè)計參數(shù)信息。若大量的工藝過程使用同一套設(shè)計參數(shù)集(或控制參數(shù)集),會導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)冗余和數(shù)據(jù)量過大,后期也會影響數(shù)據(jù)庫的運行效率。
表4 優(yōu)化后的表結(jié)構(gòu)
在數(shù)據(jù)庫中增加設(shè)計方案表,避免設(shè)計參數(shù)表與工藝表直接關(guān)聯(lián);在工藝表中增加方案屬性,將方案表作為參數(shù)設(shè)計與工藝表之間的中介,間接實現(xiàn)與工藝參數(shù)表的關(guān)聯(lián),其中方案表與設(shè)計參數(shù)表為M∶N關(guān)系,采用第1.3.1 節(jié)的設(shè)計方法進(jìn)行設(shè)計;方案表與工藝表為1∶N關(guān)系,優(yōu)化后的邏輯結(jié)構(gòu)見圖6。在優(yōu)化后的表中,設(shè)計參數(shù)集相同的多次工藝過程,只需增加工藝表中的scheme_id字段數(shù)據(jù)即可。這種優(yōu)化方法在設(shè)計參數(shù)不變的情況下,幾乎不增加數(shù)據(jù)庫的數(shù)據(jù)量和讀寫次數(shù),以微量增加數(shù)據(jù)庫結(jié)構(gòu)的復(fù)雜性為代價,避免數(shù)據(jù)冗余,減少數(shù)據(jù)庫的讀寫操作次數(shù),提高了數(shù)據(jù)庫運行的效率和穩(wěn)定性。
圖6 M∶N關(guān)系類型優(yōu)化2
在邏輯結(jié)構(gòu)設(shè)計中:對于1∶1 和1∶N的關(guān)系類型,使用3 范式法則提供的設(shè)計方法設(shè)計;對于M∶N的關(guān)系類型,需根據(jù)工藝過程的實際情況,選擇第1.3.1 ~1.3.3節(jié)中相對應(yīng)的設(shè)計方法設(shè)計。
近年來,我國船舶制造業(yè)的部分工藝流程實現(xiàn)了數(shù)字化、自動化和智能化,但整體上仍處于數(shù)字化制造的初級階段,船舶制造流程中許多工藝過程的工藝數(shù)據(jù)庫系統(tǒng)并未建立。本文針對船舶制造中的裝配工藝過程,結(jié)合工藝數(shù)據(jù)庫設(shè)計流程和本文提出的優(yōu)化設(shè)計方法,設(shè)計一套裝配工藝數(shù)據(jù)庫接口系統(tǒng)。
根據(jù)9 要素分析法和通用E-R圖模型,船舶制造裝配工藝數(shù)據(jù)庫的E-R 圖見圖7。E-R 圖中包含原料(零件)、產(chǎn)品(零件)、規(guī)范、人員、設(shè)計、設(shè)備和時間等7 種工藝因素,由于正常環(huán)境對裝配工藝因素的影響較小,因此暫不考慮該因素。
圖7 船舶制造裝配工藝數(shù)據(jù)庫的E-R圖
其中,裝配工藝數(shù)據(jù)庫單條裝配工藝數(shù)據(jù)是指針對一條焊縫(對應(yīng)2 個零件)裝配過程所生成的工藝數(shù)據(jù)。對于復(fù)雜組件(部件或分段)的裝配結(jié)構(gòu),采用多條裝配工藝數(shù)據(jù)即可代表整個組件(部件或分段)的完整工藝過程。根據(jù)這種定義,裝配工藝的原料固定為2 個零件,產(chǎn)品固定為1 個組件(部件或分段);而在裝配工藝數(shù)據(jù)庫中,根據(jù)等級劃分的不同,將零件、組件、部件和分段統(tǒng)一歸納至“零件”實體中。因此,原料和產(chǎn)品的數(shù)量在單次工藝過程中是確定的,滿足第3.2 節(jié)中的優(yōu)化條件。同理,操作人員和設(shè)計人員均采用第3.2 節(jié)中的設(shè)計方法。設(shè)計參數(shù)和控制參數(shù)采用第3.3 節(jié)中的設(shè)計方法。裝配工藝表的邏輯結(jié)構(gòu)見表5,其余表單限于篇幅,暫不列出。
表5 裝配工藝表
本文設(shè)計的裝配工藝數(shù)據(jù)庫既面向智能化的裝配工藝過程,又兼容現(xiàn)有傳統(tǒng)的裝配工藝過程,工藝數(shù)據(jù)系統(tǒng)在實際運行過程中可根據(jù)實際情況決定錄入哪些工藝數(shù)據(jù)。由于采用了本文所述數(shù)據(jù)庫優(yōu)化方法,裝配工藝數(shù)據(jù)庫系統(tǒng)具有向后兼容性,即使工藝過程或設(shè)備升級改造導(dǎo)致設(shè)計參數(shù)和控制參數(shù)發(fā)生改變,也無需對工藝數(shù)據(jù)庫的整體結(jié)構(gòu)進(jìn)行重新設(shè)計。
本文設(shè)計的裝配工藝數(shù)據(jù)庫接口系統(tǒng)已在廣州某船企進(jìn)行推廣與應(yīng)用,除了針對裝配工藝設(shè)計的裝配工藝數(shù)據(jù)庫接口系統(tǒng)以外,還針對加工、焊接和涂裝等工藝流程設(shè)計了相應(yīng)的工藝數(shù)據(jù)庫系統(tǒng)。目前該系統(tǒng)已涵蓋加工、裝配、焊接和涂裝等工藝流程,實現(xiàn)了對這些工藝流程中的工藝數(shù)據(jù)的收集、存儲、統(tǒng)計和查詢等功能,以及與船企內(nèi)部原有的生產(chǎn)制造執(zhí)行系統(tǒng)(Manufacturing Execution System, MES)和企業(yè)資源計劃系統(tǒng)(Enterprise Resource Planning, ERP)的數(shù)據(jù)共享,見圖8。利用本文提出的數(shù)據(jù)庫改進(jìn)設(shè)計方法,快速搭建了裝配工藝數(shù)據(jù),涵蓋了較為完善的裝配工藝數(shù)據(jù),同時優(yōu)化了數(shù)據(jù)庫的整體機(jī)構(gòu)、數(shù)據(jù)存儲量和數(shù)據(jù)庫的讀寫效率。
圖8 工藝數(shù)據(jù)庫接口系統(tǒng)及部分裝配工藝數(shù)據(jù)接口
本文面向船舶智能化過程中傳統(tǒng)工藝數(shù)據(jù)庫設(shè)計方法存在的問題,根據(jù)工藝數(shù)據(jù)庫的設(shè)計流程提出了9要素分析法,明確了需求分析中調(diào)研分析的方向和范圍,極大地降低了設(shè)計者的工作量;基于9 要素分析法設(shè)計了通用E-R圖,為工藝數(shù)據(jù)庫的設(shè)計者提供了概念結(jié)構(gòu)設(shè)計的整體框架,實現(xiàn)了概念結(jié)構(gòu)的快速開發(fā);根據(jù)工藝過程的實際特點提出了2 種邏輯設(shè)計的優(yōu)化方法,降低了工藝數(shù)據(jù)的系統(tǒng)復(fù)雜度,提高了工藝數(shù)據(jù)庫系統(tǒng)的運行效率和系統(tǒng)穩(wěn)定性。最后,基于本文提出的工藝數(shù)據(jù)庫優(yōu)化方法,為船舶制造過程中的裝配過程設(shè)計了裝配工藝數(shù)據(jù)庫系統(tǒng),并在廣州某船企進(jìn)行了推廣與應(yīng)用。