鄒存鑫,劉向堯,段青君
(貴州理工學(xué)院航空航天工程學(xué)院,貴州 貴陽(yáng) 550003)
目前,計(jì)算機(jī)輔助設(shè)計(jì)以及機(jī)械制造等領(lǐng)域已廣泛應(yīng)用數(shù)據(jù)庫(kù)技術(shù)。在工業(yè)上,過(guò)程數(shù)據(jù)的高效存取方面,數(shù)據(jù)庫(kù)技術(shù)得到了廣泛的應(yīng)用。例如,波音737是波音公司生產(chǎn)的中程和短程雙引擎噴氣飛機(jī)。到目前為止,波音公司生產(chǎn)的737型號(hào)飛機(jī)已經(jīng)開(kāi)發(fā)設(shè)計(jì)了十多個(gè)系列[1],由于同型號(hào)飛機(jī)型號(hào)眾多,飛機(jī)標(biāo)準(zhǔn)件種類(lèi)繁多,飛機(jī)標(biāo)準(zhǔn)件中的數(shù)據(jù)量很大。為了實(shí)現(xiàn)數(shù)據(jù)的高效管理,需要采用數(shù)據(jù)庫(kù)技術(shù)。數(shù)據(jù)庫(kù)設(shè)計(jì)的優(yōu)劣對(duì)于整個(gè)系統(tǒng)的效率和成果有著直接的影響。數(shù)據(jù)庫(kù)所占據(jù)的存儲(chǔ)空間的大小取決于數(shù)據(jù)庫(kù)是否具有良好的數(shù)據(jù)庫(kù)結(jié)構(gòu),同時(shí)一個(gè)良好的數(shù)據(jù)庫(kù)結(jié)構(gòu)有利于提高數(shù)據(jù)的完整性和一致性,并提升數(shù)據(jù)庫(kù)系統(tǒng)響應(yīng)運(yùn)行速度。
在標(biāo)準(zhǔn)件庫(kù)管理中,數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用,不僅可以代替大量繁瑣的計(jì)算和整理工作,而且可以引入高效的管理方法,通過(guò)報(bào)表之類(lèi)信息的展示為管理者提供決策依據(jù),提高經(jīng)濟(jì)效益。
庫(kù)存管理涉及到的企業(yè)管理功能有兩種,一個(gè)是基本的外部擔(dān)保,以滿(mǎn)足生產(chǎn)計(jì)劃,設(shè)備維護(hù)要求。另一個(gè)是不斷優(yōu)化內(nèi)部庫(kù)存結(jié)構(gòu),提高飛機(jī)標(biāo)準(zhǔn)件庫(kù)存的合理性和經(jīng)濟(jì)性[2-4]。
針對(duì)這種情況,利用數(shù)據(jù)庫(kù)技術(shù)設(shè)計(jì)一個(gè)飛機(jī)標(biāo)準(zhǔn)件庫(kù)存管理系統(tǒng),有利于提高效率,降低工作量,有利于實(shí)現(xiàn)飛機(jī)標(biāo)準(zhǔn)件庫(kù)的可操作性及安全性。具有一定的工程意義。
利用CATIA模型文件作為既定組成部分,形成屬性參數(shù)庫(kù),并利用Delphi作為界面程序操縱后臺(tái)SQL Server中的數(shù)據(jù)。動(dòng)態(tài)搭建數(shù)據(jù)庫(kù)與靜態(tài)搭建數(shù)據(jù)庫(kù)方法相比,動(dòng)態(tài)方法減少了數(shù)據(jù)冗余和工作量。目前,建立飛機(jī)標(biāo)準(zhǔn)件庫(kù)的關(guān)注點(diǎn)集中在以下幾個(gè)方面:
(1)跨平臺(tái):標(biāo)準(zhǔn)件屬性參數(shù)數(shù)據(jù),希望在一個(gè)數(shù)據(jù)庫(kù)建立的數(shù)據(jù)能夠無(wú)縫地使用在其它數(shù)據(jù)庫(kù)中;
(2)完整的信息儲(chǔ)備:飛機(jī)標(biāo)準(zhǔn)件庫(kù)儲(chǔ)備了完整的標(biāo)準(zhǔn)件的幾何信息以及非幾何信息;
(3)便捷添加:操作者可以根據(jù)具體的使用情況,不需修改和重新編譯加載程序源代碼就可以添加零件參數(shù)信息到程序中;
(4)實(shí)用性:一般的標(biāo)準(zhǔn)件都可以通過(guò)界面創(chuàng)建并存儲(chǔ)在程序中。
標(biāo)準(zhǔn)件庫(kù)管理信息系統(tǒng)的總體任務(wù)[5]是:實(shí)現(xiàn)標(biāo)準(zhǔn)件庫(kù)信息管理的系統(tǒng)化、規(guī)范化和自動(dòng)化;系統(tǒng)設(shè)計(jì)的思路是:盡量采用現(xiàn)有的軟硬件環(huán)境及先進(jìn)的管理系統(tǒng)開(kāi)發(fā)方案,提高系統(tǒng)開(kāi)發(fā)水平和應(yīng)用效果;符合標(biāo)準(zhǔn)件各項(xiàng)標(biāo)準(zhǔn)的規(guī)定,滿(mǎn)足標(biāo)準(zhǔn)件庫(kù)管理人員對(duì)標(biāo)準(zhǔn)件庫(kù)信息管理的需要,并達(dá)到操作過(guò)程的簡(jiǎn)單實(shí)用、安全可靠等要求;采用模塊化程序設(shè)計(jì)方法,便于系統(tǒng)功能的各種組合和修改;具備數(shù)據(jù)庫(kù)維護(hù)功能,及時(shí)根據(jù)標(biāo)準(zhǔn)件管理者的需求,進(jìn)行數(shù)據(jù)的添加、刪除、查詢(xún)、備份等操作。
此外,基于系統(tǒng)安全方面的考慮,飛機(jī)標(biāo)準(zhǔn)件庫(kù)存管理系統(tǒng)的數(shù)據(jù)庫(kù)應(yīng)該在登錄窗口中識(shí)別用戶(hù),并添加權(quán)限控制。飛機(jī)標(biāo)準(zhǔn)件庫(kù)程序的主要功能示意圖如圖1所示。
圖1 飛機(jī)標(biāo)準(zhǔn)件庫(kù)程序主要功能示意圖
飛機(jī)標(biāo)準(zhǔn)件庫(kù)管理系統(tǒng)在整個(gè)生產(chǎn)流程中的位置是車(chē)間級(jí)生產(chǎn)管理中的半成品與齊套管理部分,具體應(yīng)用流程如圖2所示。
圖2 標(biāo)準(zhǔn)件庫(kù)管理系統(tǒng)應(yīng)用流程圖
大約有3 000多種航空標(biāo)準(zhǔn)件大多被列入我國(guó)航空工業(yè)規(guī)范。據(jù)不完全統(tǒng)計(jì),一架飛機(jī)在生產(chǎn)過(guò)程中使用通用標(biāo)準(zhǔn)件數(shù)量占全機(jī)零部件數(shù)量的五分之三以上。但是,飛機(jī)標(biāo)準(zhǔn)件的大量人工錄入過(guò)程存在許多弊端,如物資積壓、資金周轉(zhuǎn)緩慢、原始文件多、信息利用率低、數(shù)據(jù)處理單一、人工處理容易出錯(cuò)、管理方法落后等,進(jìn)一步提高航空制造企業(yè)標(biāo)準(zhǔn)件庫(kù)管理工作的質(zhì)量和水平,會(huì)給航空制造企業(yè)標(biāo)準(zhǔn)件庫(kù)管理工作帶來(lái)很大的便利,提高生產(chǎn)效率。
從概念上講,數(shù)據(jù)庫(kù)就像高度專(zhuān)業(yè)化的電子櫥柜,數(shù)據(jù)存儲(chǔ)在電子柜的抽屜里。更準(zhǔn)確的定義是:數(shù)據(jù)庫(kù)是指長(zhǎng)期儲(chǔ)存在計(jì)算機(jī)中的數(shù)據(jù)集合,具有組織性和共享性的特點(diǎn)。數(shù)據(jù)庫(kù)的特點(diǎn)是:內(nèi)部聯(lián)系密切,冗余度小,結(jié)構(gòu)性強(qiáng),安全可靠,數(shù)據(jù)共享[6]。
在具體的數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程中,主要用到了面向?qū)ο蟮臄?shù)據(jù)模型。隨著科技的發(fā)展,在工業(yè)上具體的需求關(guān)系也不斷地復(fù)雜化,支持面向?qū)ο髷?shù)據(jù)模型和傳統(tǒng)數(shù)據(jù)庫(kù)特性的數(shù)據(jù)庫(kù)應(yīng)運(yùn)而生。面向?qū)ο蟮母拍畎▽?duì)象/對(duì)象識(shí)別、屬性/方法、封裝/信息傳遞、類(lèi)/類(lèi)型、類(lèi)層次/繼承等。這組概念形成了新一代數(shù)據(jù)庫(kù)模型的基礎(chǔ),包含這些概念的數(shù)據(jù)模型為相應(yīng)的核心模型,通過(guò)在該核心模型的基礎(chǔ)上增加與具體的應(yīng)用有關(guān)的語(yǔ)義完整性約束和語(yǔ)義聯(lián)系,定義出了面向?qū)ο蟮臄?shù)據(jù)模型。
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)及數(shù)據(jù)庫(kù)技術(shù)的飛速發(fā)展,計(jì)算機(jī)的應(yīng)用結(jié)構(gòu)主要有三種應(yīng)用結(jié)構(gòu),一是終端/主機(jī)結(jié)構(gòu)(Termina/Mainframe),二是文件服務(wù)器結(jié)構(gòu)(File/Server)、三是客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)(Client/Server,簡(jiǎn)稱(chēng)C/S)及瀏覽器/服務(wù)器結(jié)構(gòu)(Browser/Server,簡(jiǎn)稱(chēng)B/S),但大多數(shù)情況下,隨著需求關(guān)系的不斷復(fù)雜化,使用者要求已不能被前兩種結(jié)構(gòu)滿(mǎn)足,目前C/S結(jié)構(gòu)和B/S結(jié)構(gòu)作為主流結(jié)構(gòu)通常用于網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)平臺(tái)開(kāi)發(fā)結(jié)構(gòu)。
C/S結(jié)構(gòu)具有合理劃分應(yīng)用邏輯,充分發(fā)揮客戶(hù)機(jī)和服務(wù)器的性能的特點(diǎn)。同時(shí)可以在客戶(hù)端和服務(wù)器端分別執(zhí)行應(yīng)用程序,且開(kāi)發(fā)和布置難度低于B/S結(jié)構(gòu)。
數(shù)據(jù)流圖(DFD),是將數(shù)據(jù)流和處理的過(guò)程通過(guò)圖像的方式表達(dá)出來(lái)。在具體的需求分析中,數(shù)據(jù)流圖可以作為需求分析的方法之一。將系統(tǒng)轉(zhuǎn)化為由數(shù)據(jù)流連接的各種功能的組合。可以方便地描述與數(shù)據(jù)流的流相關(guān)聯(lián)的各種功能。
用戶(hù)需要實(shí)現(xiàn)的功能可以表示在數(shù)據(jù)處理上;它通常反映了需求關(guān)系,但是不會(huì)提供解決問(wèn)題的方法或途徑。通常情況下用戶(hù)存儲(chǔ)的數(shù)據(jù)或數(shù)據(jù)處理的結(jié)果,以及系統(tǒng)函數(shù)和函數(shù)之間傳輸?shù)男畔⒁餐ㄟ^(guò)數(shù)據(jù)流來(lái)表示。操作者存儲(chǔ)在磁盤(pán)、磁帶、內(nèi)存或任何其他介質(zhì)上的數(shù)據(jù)作為數(shù)據(jù)存儲(chǔ)關(guān)系來(lái)表示?;跀?shù)據(jù)庫(kù)技術(shù)的庫(kù)存管理系統(tǒng)的數(shù)據(jù)流圖如圖3所示。
數(shù)據(jù)來(lái)源于管理員的錄入。處理數(shù)據(jù)用橢圓表示,數(shù)據(jù)處理是對(duì)數(shù)據(jù)加工的單元,把輸入數(shù)據(jù)轉(zhuǎn)換為輸出數(shù)據(jù),其描述了用于實(shí)現(xiàn)功能的一部分的系統(tǒng)的數(shù)據(jù)流。數(shù)據(jù)流用箭頭表示,同時(shí)作為函數(shù)之間的信息路徑。數(shù)據(jù)流作為一組已知的數(shù)據(jù)包,它具有反應(yīng)處理對(duì)象不反應(yīng)控制對(duì)象的特點(diǎn)。開(kāi)放框代表數(shù)據(jù)存儲(chǔ),數(shù)據(jù)存儲(chǔ)是住宿地點(diǎn)或保存數(shù)據(jù)結(jié)構(gòu),而且在源和目的數(shù)據(jù)流中的一個(gè)。輸出數(shù)據(jù)流表示可以從數(shù)據(jù)存儲(chǔ)或數(shù)據(jù)流處理中提取的信息。
圖3 飛機(jī)標(biāo)準(zhǔn)件庫(kù)管理系統(tǒng)數(shù)據(jù)流圖
鑒于數(shù)據(jù)表的冗余設(shè)計(jì),十大類(lèi)標(biāo)準(zhǔn)零件的主要特點(diǎn)有些是重疊的,有七個(gè)主要類(lèi)別表。此外,產(chǎn)品類(lèi)別,制造商和用戶(hù)部門(mén)提供三個(gè)系統(tǒng)維護(hù)表。在庫(kù)存管理過(guò)程中,主要使用三個(gè)表:入庫(kù)表、出庫(kù)表和庫(kù)存表。數(shù)據(jù)庫(kù)中主要表之間的邏輯關(guān)系如圖4所示。
根據(jù)標(biāo)準(zhǔn)件在飛機(jī)設(shè)計(jì)中的位置和標(biāo)準(zhǔn)件庫(kù)在工程制造中的應(yīng)用,標(biāo)準(zhǔn)件庫(kù)涉及的零部件包括包括軸承、螺栓、螺母、螺釘、螺柱、墊圈、固定環(huán)、鉚釘、銷(xiāo)和鑰匙。
Delphi語(yǔ)言具有許多優(yōu)點(diǎn),它在數(shù)據(jù)庫(kù)中的應(yīng)用具有突出的便捷性:用于各種數(shù)據(jù)庫(kù)結(jié)構(gòu),從客戶(hù)機(jī)/服務(wù)器結(jié)構(gòu)到多層數(shù)據(jù)結(jié)構(gòu),高效率的數(shù)據(jù)庫(kù)管理系統(tǒng)和新一代更先進(jìn)的數(shù)據(jù)庫(kù)引擎,最新的數(shù)據(jù)分析工具,并提供大量的企業(yè)組件[7]。
要求的各項(xiàng)功能,動(dòng)態(tài)界面的設(shè)計(jì)與數(shù)據(jù)庫(kù)的存取使用Delphi語(yǔ)言編程完成。由于Delphi數(shù)據(jù)庫(kù)應(yīng)用程序不會(huì)直接訪(fǎng)問(wèn)數(shù)據(jù)源,通常情況下利用Microsoft的ActiveX Data Object(ADO),一種數(shù)據(jù)庫(kù)引擎,來(lái)直接處理數(shù)據(jù)庫(kù)文件。
圖4 數(shù)據(jù)庫(kù)中主要表的結(jié)構(gòu)及關(guān)系圖
由于飛機(jī)標(biāo)準(zhǔn)零件管理信息系統(tǒng)的最終用戶(hù)可能是一個(gè)不精通計(jì)算機(jī)技術(shù)的零件庫(kù)管理員,根據(jù)應(yīng)用需要,限定每個(gè)使用者只在功能子系統(tǒng)內(nèi)操作,因此基本操作控制范圍限定于每個(gè)子系統(tǒng)的用戶(hù)接口,即一個(gè)完善統(tǒng)一的的用戶(hù)界面,將應(yīng)用于每個(gè)子系統(tǒng),便于整個(gè)子系統(tǒng)內(nèi)的執(zhí)行的各種操作受控于系統(tǒng)的使用者。
SQL Server作為開(kāi)發(fā)的底層數(shù)據(jù)庫(kù),用Delphi 語(yǔ)言編程完成標(biāo)準(zhǔn)件入庫(kù)信息窗體設(shè)計(jì)。墊片類(lèi)標(biāo)準(zhǔn)件入庫(kù)信息錄入如圖5所示,這種窗體結(jié)構(gòu)形式可以采用便于操作的樹(shù)狀結(jié)構(gòu)。樹(shù)狀結(jié)構(gòu)的實(shí)現(xiàn)是通過(guò)調(diào)用數(shù)據(jù)庫(kù)中商品數(shù)據(jù)表的字段來(lái)實(shí)現(xiàn)的。
在數(shù)據(jù)庫(kù)中,對(duì)數(shù)據(jù)的操作一般有以下兩個(gè)情況,一是單表操作,二是多表之間及在數(shù)據(jù)庫(kù)之間操作?;赟QL語(yǔ)句,操作者可以根據(jù)具體的使用情況實(shí)現(xiàn)多表之間及跨數(shù)據(jù)庫(kù)的查詢(xún),同時(shí)多個(gè)數(shù)據(jù)表的功能可以在TDBGrid中顯示。整個(gè)標(biāo)準(zhǔn)件庫(kù)查詢(xún)窗體是樹(shù)狀結(jié)構(gòu),查詢(xún)表單是標(biāo)準(zhǔn)庫(kù)中的樹(shù)結(jié)構(gòu),可以直接展開(kāi)樹(shù)節(jié)點(diǎn)來(lái)查詢(xún)標(biāo)準(zhǔn)之間的類(lèi)別信息。SQL語(yǔ)句主要用于增加、刪除、修改和查詢(xún)數(shù)據(jù)。
圖5 墊片類(lèi)標(biāo)準(zhǔn)件入庫(kù)信息錄入圖
C/S結(jié)構(gòu)作為基于數(shù)據(jù)庫(kù)飛機(jī)標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)管理系統(tǒng)的基本框架,數(shù)據(jù)庫(kù)的鎖定具有重要意義,其可在多個(gè)用戶(hù)同時(shí)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí),降低錯(cuò)誤率。SQL多粒度鎖定可以稱(chēng)之為Server數(shù)據(jù)庫(kù)具有的基本特性。飛機(jī)標(biāo)準(zhǔn)件庫(kù)管理中存在大量的數(shù)據(jù)。每個(gè)大類(lèi)的標(biāo)準(zhǔn)零件都有一個(gè)表,例如螺栓表,它需要使用表級(jí)鎖。在實(shí)際中按照Transact-SQL聲明中使用鎖提示。
飛機(jī)標(biāo)準(zhǔn)件庫(kù)存管理系統(tǒng)下一步的研究發(fā)展方向主要有兩個(gè):一是多個(gè)系統(tǒng)集成,將現(xiàn)有的基于數(shù)據(jù)庫(kù)的飛機(jī)標(biāo)準(zhǔn)件管理系統(tǒng)與在實(shí)際生產(chǎn)過(guò)程中用到的其他系統(tǒng)進(jìn)行有效互聯(lián),主要研究飛機(jī)標(biāo)準(zhǔn)件各參數(shù)的表示和圖形界面;二是將原型系統(tǒng)擴(kuò)展為一個(gè)大型的庫(kù)存管理系統(tǒng),如集庫(kù)、半成品庫(kù)等,主要研究通用零件編碼系統(tǒng)與不同數(shù)據(jù)庫(kù)的區(qū)別。
此外,要對(duì)區(qū)塊鏈技術(shù)在飛機(jī)標(biāo)準(zhǔn)件庫(kù)存管理中的創(chuàng)新應(yīng)用進(jìn)行密切關(guān)注。
根據(jù)實(shí)際生產(chǎn)的需求分析,介紹了基于飛機(jī)標(biāo)準(zhǔn)件庫(kù)存管理系統(tǒng)的數(shù)據(jù)庫(kù)功能、數(shù)據(jù)庫(kù)知識(shí)。數(shù)據(jù)表之間的邏輯關(guān)系采用了DFD進(jìn)行描述。數(shù)據(jù)庫(kù)的實(shí)現(xiàn)采用了Delphi語(yǔ)言,采用SQL語(yǔ)句實(shí)現(xiàn)了多個(gè)數(shù)據(jù)表的功能以及多表及跨數(shù)據(jù)庫(kù)的查詢(xún)。