系列化產(chǎn)品工程信息的建立與管理
【本章摘要】本章首先分析了管理系列化產(chǎn)品信息的工具―工程數(shù)據(jù)庫的內(nèi)容及建庫方法,并詳細(xì)分析了具體系統(tǒng)中的庫存一設(shè)計(jì)控制模塊的實(shí)現(xiàn)及其工程數(shù)據(jù)庫的生成和企業(yè)中的項(xiàng)目圖紙管理模塊的工程數(shù)據(jù)庫建立。
5.1工程數(shù)據(jù)管理的引入
隨著現(xiàn)代工業(yè)的發(fā)展,現(xiàn)代工業(yè)的整體分工與合作的日益完善,特別是標(biāo)準(zhǔn)化和通用化技術(shù)的發(fā)展,企業(yè)產(chǎn)品的系列化工作就變得日益重要。而對(duì)產(chǎn)品信息的管理也變得很重要,并且,由于系列化產(chǎn)品之間在特征尺寸和圖形表達(dá)上都具有一定的共性。如何有效地記錄這些信息,特別是應(yīng)用到圖形驅(qū)動(dòng)中,普通的數(shù)據(jù)庫(存儲(chǔ)簡單的數(shù)據(jù)信息)對(duì)圖形特征數(shù)據(jù)的存儲(chǔ)較為困難,而工程數(shù)據(jù)庫能存儲(chǔ)具有工程特性信息的內(nèi)容。
為了適應(yīng)工程數(shù)據(jù)庫管理和應(yīng)用需求,設(shè)計(jì)和發(fā)展傳統(tǒng)的數(shù)據(jù)模型,研究新的可擴(kuò)充的數(shù)據(jù)庫系統(tǒng),為用戶提供強(qiáng)大的系統(tǒng)和良好的人機(jī)界面。目前,主要的做法有:使用構(gòu)造DBMS生成器;使用擴(kuò)展關(guān)系模型(混合模型);使用語義模型;打破關(guān)系約束的NF,模型;面向?qū)ο竽P汀?BR>由于歷史的原因,早期的工程數(shù)據(jù)庫均采用傳統(tǒng)的數(shù)據(jù)模型,即層次、網(wǎng)狀、關(guān)系模型。由于關(guān)系數(shù)據(jù)模型具有嚴(yán)謹(jǐn)?shù)睦碚、清晰的概念,因此不少系統(tǒng)都是建立在擴(kuò)展的關(guān)系模型上的,去適應(yīng)工程數(shù)據(jù)庫系統(tǒng)的需要。然而由于關(guān)系模型將實(shí)體與實(shí)體間不同的聯(lián)系統(tǒng)一按關(guān)系處理,犧牲了不少語義信息,加之關(guān)系模型的面向記錄的模式以及單一的數(shù)據(jù)類型不能自然表達(dá)復(fù)雜的對(duì)象結(jié)構(gòu),因此,工程數(shù)據(jù)庫的功能受到一定的限制。目前人們開始研究新的語義數(shù)據(jù)模型,特別是面向?qū)ο蟮臄?shù)據(jù)模型已受到重視。由于這種數(shù)據(jù)庫模型具有較強(qiáng)的語義建模能力,它的許多特點(diǎn)非常適合工程數(shù)據(jù)庫特別是圖形圖象數(shù)據(jù)庫,是一種很有希望的方法。
基于數(shù)據(jù)庫管理系統(tǒng)來實(shí)現(xiàn)工程數(shù)據(jù)管理,是在數(shù)據(jù)庫技術(shù)得到發(fā)展的基礎(chǔ)上,將特定工程數(shù)據(jù)分類、分階段存于數(shù)據(jù)庫,便于數(shù)據(jù)獨(dú)立和共享,便于管理和使用。對(duì)于傳統(tǒng)的數(shù)據(jù)庫結(jié)構(gòu)模型。經(jīng)過改造和擴(kuò)展,開發(fā)成更適合于工程應(yīng)用需要的能有效保證工程數(shù)據(jù)管理的系統(tǒng),如工程設(shè)計(jì)知識(shí)庫、工程圖形數(shù)據(jù)庫等,在工程應(yīng)用需求推動(dòng)下,發(fā)展較快。
機(jī)械CAD數(shù)據(jù)主要包括產(chǎn)品設(shè)計(jì)數(shù)據(jù)、產(chǎn)品模型數(shù)據(jù)、圖形數(shù)據(jù)、材料數(shù)據(jù)、成組技術(shù)編碼數(shù)據(jù)、測試數(shù)據(jù)等。它應(yīng)包括物理特性、材料特性、零件規(guī)格、數(shù)學(xué)模型、經(jīng)驗(yàn)公式的數(shù)學(xué)描述、幾何形體描述與幾何尺寸、規(guī)范和標(biāo)準(zhǔn)等,內(nèi)容極為廣泛。其表現(xiàn)形式除了數(shù)值、文字信息之外,還有大量的幾何圖形信息。其特點(diǎn)是數(shù)據(jù)量大,種類多,結(jié)構(gòu)復(fù)雜。
為了適應(yīng)工程數(shù)據(jù)管理和應(yīng)用需求,要對(duì)傳統(tǒng)的數(shù)據(jù)模型進(jìn)行發(fā)展和改造或重新設(shè)計(jì)新的數(shù)據(jù)模型,通常的方法有:
(l)基于關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型:RDBMS要求所有關(guān)系表均滿足1NF,因而用關(guān)系表達(dá)復(fù)雜對(duì)象時(shí),對(duì)象實(shí)體的各屬性需要分拆在數(shù)個(gè)關(guān)系表中,因而可以在RDBMS之上開發(fā)一附加層,專門完成“關(guān)系←→對(duì)象”的互換工作,從而使實(shí)體外部對(duì)象與內(nèi)部對(duì)象之間能自然映像。
(2)新一代數(shù)據(jù)模型主要有:1)從排除1NF限制出發(fā)而提出的NF,模型,NF2從結(jié)構(gòu)上對(duì)關(guān)系模型進(jìn)行了擴(kuò)充,允許屬性既可以是原子類型也可以是關(guān)系本身,因此能表達(dá)“表中表”,可以將層次結(jié)構(gòu)的對(duì)象作為一個(gè)整體存于數(shù)據(jù)庫,當(dāng)存取某個(gè)對(duì)象是無須進(jìn)行顯式的連續(xù)操作;2)排除1NF限制并允許屬性為函數(shù)或過程既是關(guān)系模型在語義方向上的擴(kuò)充,如POSTGRES系統(tǒng),它支持關(guān)系之間的繼承并允許在關(guān)系上定義函數(shù)和運(yùn)算符,從而大大提高了復(fù)雜對(duì)象的建模能力;3)為了表達(dá)各種復(fù)雜的語義關(guān)聯(lián),提出了許多語義數(shù)據(jù)模型,其中SAM模型為CIMS數(shù)據(jù)庫庫設(shè)計(jì)提供了一個(gè)很有力的工具,由于語義數(shù)據(jù)模型的復(fù)雜性,語義模型只是被用作數(shù)據(jù)庫設(shè)計(jì)中的一種概念建模工具;4)面向?qū)ο螅∣O)的數(shù)據(jù)模型,00模型的核心為“抽象數(shù)據(jù)類型+繼承性+對(duì)象標(biāo)識(shí)符”,采用00模型的模型的面向?qū)ο蟮臄?shù)據(jù)庫(OODB)是隨著面向?qū)ο蟪套衷O(shè)計(jì)的技術(shù)發(fā)展而應(yīng)運(yùn)而生。OODBMS支持復(fù)雜對(duì)象、對(duì)象標(biāo)識(shí)和對(duì)象繼承、對(duì)象的封裝性、層次結(jié)構(gòu)的類或型、具有計(jì)算完備性和可擴(kuò)充性等。
5.2對(duì)象模型到關(guān)系數(shù)據(jù)庫結(jié)構(gòu)的映射
對(duì)象是有實(shí)體所包含的一組數(shù)據(jù)和施加于這些數(shù)據(jù)上的操作組成的,F(xiàn)實(shí)世界中所有概念實(shí)體被模型化為對(duì)象。對(duì)象描述的所有的概念實(shí)體,從簡單到復(fù)雜的實(shí)體,允許把復(fù)雜對(duì)象表示成一個(gè)循環(huán)遞歸的對(duì)象,而且每個(gè)對(duì)象是唯一可標(biāo)識(shí)的;趯(duì)象和類的概念,使之能建立高度結(jié)構(gòu)化的數(shù)據(jù)模型,更能反映復(fù)雜的現(xiàn)實(shí)世界的語義關(guān)系。
面向?qū)ο笫且环N新的程序設(shè)計(jì)方法學(xué),它吸收了傳統(tǒng)方法的數(shù)據(jù)抽象,信息隱蔽,模塊化等思想,強(qiáng)調(diào)以對(duì)象作為問題分析、系統(tǒng)設(shè)計(jì)的主體,是軟件牙;統(tǒng)與客觀世界之間自然的對(duì)應(yīng)關(guān)系。面向?qū)ο蠓椒ò凑杖藗兞?xí)慣的思維方式建立問題模型和構(gòu)造系統(tǒng),使軟件系統(tǒng)更易于理解和維護(hù),它的繼承和多態(tài)等技術(shù)為軟件復(fù)用和擴(kuò)充創(chuàng)造了條件。采用面向?qū)ο蠓椒▉碓O(shè)計(jì)數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫中的表格字段的具體類型沒有限制,即可以設(shè)計(jì)層次、網(wǎng)狀數(shù)據(jù)庫,又可以診汁關(guān)系型和面向?qū)ο笮蛿?shù)據(jù)庫。使用統(tǒng)一的面向?qū)ο笤O(shè)計(jì)技術(shù),可以提高數(shù)據(jù)庫和程序編碼的完整性。面向?qū)ο髷?shù)據(jù)庫系統(tǒng)是把面向?qū)ο蠹夹g(shù)和傳統(tǒng)的數(shù)據(jù)庫技術(shù)結(jié)合集成在一個(gè)系統(tǒng)中,支持面向?qū)ο髷?shù)據(jù)模型和對(duì)象操作、集合操作一體化,適合于工程中的應(yīng)用。但是從目前的技術(shù)和市場上看,面向?qū)ο髷?shù)據(jù)庫在技術(shù)上不完全成熟,缺乏統(tǒng)一的國際標(biāo)準(zhǔn),市場上應(yīng)用極少。而關(guān)系型數(shù)據(jù)庫是在市場上比較流行,經(jīng)實(shí)踐證明成熟可靠的數(shù)據(jù)庫管理系統(tǒng),與高級(jí)詳言的接口已經(jīng)建成。因此,可以通過將對(duì)象模型映射成關(guān)系型數(shù)據(jù)庫結(jié)構(gòu)來多現(xiàn)對(duì)象數(shù)據(jù)的存儲(chǔ)和操作。
關(guān)系數(shù)據(jù)庫邏輯上是“表”的集合,這種表具有固定列數(shù)和任意的字段數(shù)。表的列名稱可直接與對(duì)象模型中的屬性相關(guān),行可以對(duì)應(yīng)于類實(shí)例和鏈,各個(gè)表的行列交叉點(diǎn)用來存儲(chǔ)基本類型的數(shù)據(jù)。對(duì)象模型到數(shù)據(jù)庫結(jié)構(gòu)的映射就是將規(guī)范化的類屬性、關(guān)聯(lián)關(guān)系和歸納關(guān)系映射成具體特定結(jié)構(gòu)的一張或多張表棒型,對(duì)象的存儲(chǔ)就是實(shí)例的屬性值、關(guān)聯(lián)表示值和歸納表示值存入相應(yīng)的表中。
每個(gè)類都可映射成一張或多張表,圖5-1是點(diǎn)類映射成表的例子。
關(guān)聯(lián)映射成表的方法是:首先將關(guān)聯(lián)的二個(gè)類映射成各自的表,然后再用二個(gè)類的標(biāo)識(shí)屬性作成關(guān)鍵字,構(gòu)成一張索引表。
聚集的映射規(guī)律和關(guān)聯(lián)相似。用聚集可以描述復(fù)雜對(duì)象。圖5-2是直線到表時(shí)射的一個(gè)例子。繼承是面向?qū)ο笾械囊粋(gè)重要的方法。繼承的常規(guī)映射方法是原位法,它將父類和子類都在原位映射成相應(yīng)的表,父類和子類通過關(guān)鍵字來表示對(duì)象標(biāo)識(shí),這種方法邏輯上清晰且可擴(kuò)展,但涉及的表較多。繼承到表映射方法還有“上升法”和“下降法”。上升法是將父親的屬性“下降”復(fù)制到各個(gè)子表中從而省去父表,該方法適合于父類屬性較少,具體應(yīng)用中知道應(yīng)診尋找哪個(gè)子類實(shí)例的場合。下降法是將各個(gè)子類的屬性都“上升”復(fù)制到父表中從而省去所有子表,父表中包括含了描述父類所有屬性的字段。該方法適合于父類屬性較多,子類個(gè)數(shù)和屬性較少的場合。例如,尺寸類和線形尺寸類、角度尺寸類等尺寸之間的關(guān)系為繼承,可通過上升法統(tǒng)一為一個(gè)類。通過將對(duì)象模型到關(guān)系數(shù)據(jù)庫表的映射,可以方便地實(shí)現(xiàn)工程數(shù)據(jù)的管理。
5.3庫存-設(shè)計(jì)控制
隨著企業(yè)的不斷發(fā)展,產(chǎn)品系列及其種類的增多,倉庫零件或原材料的庫存量也隨之變地越來越大。一般地,我們可以將庫存分為三類:常用類,不常壓類和不用類。常用類指使用頻率很高的零件集合:不常用零件是指使用頻率很較底的零件集合;不用類是指由于一些客戶的特殊需求,并且設(shè)計(jì)人員在設(shè)計(jì)時(shí)僅從理論上的最優(yōu)化的可行性而沒有考慮到零件種類的可能增多,導(dǎo)致在一些以后可能永遠(yuǎn)用不上的零件集合。
隨著庫存量的增多,企業(yè)積壓資金也越來越大,而事實(shí)上,很多種類的零件根本沒有必要購買,完全可以用其他類型的零件進(jìn)行代替。對(duì)零件選型的控制主要是對(duì)設(shè)計(jì)人員在零件選型過程中,讓設(shè)計(jì)人員優(yōu)先選用常用零件,其次是倉庫已有的零件,最后才是新零件,從而減小不必要的庫存費(fèi)用。
實(shí)質(zhì)上,這是設(shè)計(jì)人員在設(shè)計(jì)思維的一個(gè)轉(zhuǎn)變:設(shè)計(jì)最優(yōu)化轉(zhuǎn)向設(shè)計(jì)選型最優(yōu)化。對(duì)一個(gè)企業(yè)來說,設(shè)計(jì)的最優(yōu)化不一定是最好的選擇,應(yīng)該將設(shè)計(jì)的最優(yōu)化向企業(yè)的實(shí)際靠攏,即選型通用化,而實(shí)現(xiàn)選型通用化需要對(duì)設(shè)計(jì)人員進(jìn)廳有效的控制。具體實(shí)現(xiàn)流程見圖5-3。
在此系統(tǒng)中,選型通用化的過程是對(duì)工程數(shù)據(jù)庫的有條件檢索,而整個(gè)過程是一個(gè)迭代的結(jié)果,當(dāng)然,從實(shí)用的角度來看,迭代次數(shù)不易多(一般<15)。
5.3.1工程數(shù)據(jù)庫的建立
工程數(shù)據(jù)庫的對(duì)象模型選用成熟的關(guān)系型數(shù)據(jù)庫。將一個(gè)企業(yè)中庫存的零件分為常用零件、非常用零件以及新購零件。事實(shí)上,根據(jù)新購零件的使用頻繁度,一部分將列入常用零件,另一部分將列入非常用零件。
劃分常用零件與非常用零件的依據(jù)是:詳細(xì)劃分各種系列產(chǎn)品中對(duì)應(yīng)的零件,分為常用要求和非常用要求二種狀態(tài),常用要求下對(duì)應(yīng)下的零件集合為常用零件:非常用要求下對(duì)應(yīng)下的零件集合,減去常用零件集合為非常用零件,即扣除常用零件便得非常用零件。具體過程見圖5-4。
在工程數(shù)據(jù)庫中,數(shù)據(jù)庫的對(duì)象模型參數(shù)有:零件名、零件類型、零件特性尺寸、是否常用、零件輔助尺寸、零件的幾何形狀。其中,零件特性尺寸是確定具體類型的要素,而零件的幾何形狀是零件圖形單元的繪制的依據(jù),是對(duì)零件拓?fù)潢P(guān)系的描述。下面以螺栓系列為例,由數(shù)據(jù)模型向表結(jié)構(gòu)進(jìn)行轉(zhuǎn)換,從復(fù)雜的結(jié)構(gòu)層層轉(zhuǎn)化為單一的結(jié)構(gòu),進(jìn)行詳細(xì)的敘述,見圖5-5。
5.4項(xiàng)目信息管理
項(xiàng)目信息管理模塊中的信息存儲(chǔ)一種典型的關(guān)系型 工程數(shù)據(jù)庫,建立此類數(shù)據(jù)庫的核心是對(duì)其E-R(實(shí)體-關(guān)系)圖的描述以及由E-R圖向數(shù)據(jù)庫表結(jié)構(gòu)的正確的轉(zhuǎn)化。
5.4.1E-R圖原理
根據(jù)面向?qū)ο螅?0)的實(shí)體建模思想,選擇在現(xiàn)實(shí)世界里存在的實(shí)體(object)乍為研究對(duì)象,充分利用實(shí)體的內(nèi)部特性和實(shí)體與實(shí)體之間的關(guān)系。而其數(shù)學(xué)化描述既是,詳細(xì)描述實(shí)體的內(nèi)部屬性、內(nèi)部屬性之間的關(guān)系以及實(shí)體與實(shí)體之間的關(guān)系,在這個(gè)實(shí)現(xiàn)過程中,重要的是合適的選擇實(shí)體對(duì)象,保證屬性和關(guān)系描述全面、清晰,進(jìn)一步實(shí)現(xiàn)面向?qū)ο笙驍?shù)據(jù)庫E-R模型轉(zhuǎn)化。E-R模型是描述中實(shí)體(Entity)與聯(lián)系(Relationship)的邏輯關(guān)系,是現(xiàn)實(shí)世界在經(jīng)過選擇、命名、分類等抽象工作后在信息世界的具體反應(yīng)。在E-R圖中,長方形表示實(shí)體型;橢圓表示實(shí)體的屬性;菱形表示實(shí)體間的聯(lián)系。E-R模型是對(duì)現(xiàn)實(shí)世界的一種抽象。一般地講,所謂抽象是對(duì)實(shí)際的人、物、和概念的人為處理。它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確的加以描述。這些概念組成了某種模型。E-R模型對(duì)現(xiàn)實(shí)世界有三種抽象:
1、分類(Classification):定義某一概念作為現(xiàn)實(shí)世界中一組對(duì)象的類型,這些對(duì)象具有某些共同的特性和行為。它抽象了對(duì)象值和型之間的“is numberof”的語義。在E-R模型中,實(shí)體型就是這種抽象。例如在企業(yè)環(huán)境里,大慶油田3的減速機(jī)的訂購是一個(gè)企業(yè)項(xiàng)目(見圖5-6),表示大慶油田3的減速機(jī)的訂購是企業(yè)項(xiàng)目的一個(gè),具有企業(yè)項(xiàng)目共同的特性和行為:項(xiàng)目號(hào),項(xiàng)目名,項(xiàng)目開始時(shí)間,項(xiàng)目結(jié)束時(shí)間以及項(xiàng)目費(fèi)用等。
2、聚集(Aggregatopm):定義某一類型的組成部分。她抽象了對(duì)象內(nèi)部類型和成分之間“is part of”的語義。在E-R模型中若干屬性的聚集組成了實(shí)體的就這種抽象。如圖5-7。
3、概括(Generalization):定義類型之間的一種子集聯(lián)系。它抽象了類型之間的“is ubset of”的語義。例如項(xiàng)目是個(gè)實(shí)體型,機(jī)械類項(xiàng)目也是實(shí)體型,化工類項(xiàng)目也是實(shí)體型。機(jī)械類項(xiàng)目、化工類項(xiàng)目均是項(xiàng)目的子集。我們把項(xiàng)目稱為超類(Superclass),將機(jī)械類項(xiàng)目、化工類項(xiàng)目成為項(xiàng)目的子類(Subclass),見圖5-8。
由E一R圖向關(guān)系模型的轉(zhuǎn)換規(guī)則:
(a)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。
(b)一個(gè)聯(lián)系轉(zhuǎn)化為一個(gè)關(guān)系模式,與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系的屬性,該關(guān)系的碼有三種:
·如聯(lián)系為1:1,則每個(gè)實(shí)體的碼均是該關(guān)系的侯選碼。
·如聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體的碼。
·如聯(lián)系為n:m,則關(guān)系的碼為諸實(shí)體碼的組合。
5.4.2具體實(shí)現(xiàn)
對(duì)于項(xiàng)目信息管理系統(tǒng),有自己的特殊性,從邏輯結(jié)構(gòu)上說,他是一個(gè)典型的樹型結(jié)構(gòu),每個(gè)節(jié)點(diǎn)除根節(jié)點(diǎn)外,有自己的子節(jié)點(diǎn);每個(gè)節(jié)點(diǎn)除最外層子節(jié)點(diǎn)外,有自己的父節(jié)點(diǎn)。在本系統(tǒng)中,項(xiàng)目是整個(gè)樹結(jié)構(gòu)的根節(jié)點(diǎn),而個(gè)圖紙內(nèi)容是最外層子節(jié)點(diǎn),項(xiàng)目是設(shè)備圖紙和小樣圖的父節(jié)點(diǎn),圖紙、小樣圖又是圖紙內(nèi)容的父節(jié)點(diǎn),見圖5-9。
對(duì)于這種特定的結(jié)構(gòu),要從最高層起,層層推進(jìn),由E-R模型和系統(tǒng)結(jié)構(gòu)綜合出總的E-R圖,再根據(jù)E-R圖轉(zhuǎn)化規(guī)則,將E-R圖轉(zhuǎn)化為數(shù)據(jù)模型,最外層子節(jié)點(diǎn)完全屬性的,是完全依附對(duì)象的,它沒有E-R模型,具體做法:
1、列出最高層的E-R模型。在“項(xiàng)目信息管理”系統(tǒng)里,以項(xiàng)目為研究起點(diǎn),詳細(xì)分析它的每一個(gè)屬性。同圖5-7。
2、根據(jù)圖5-9,第二層的E-R模型有設(shè)備圖紙和小樣圖模型,分別見圖5-10a和圖5-10b。
3、根據(jù)圖5-9,第三層的E-R模型是小樣圖圖紙模型,見圖5-11。
4、綜合E-R模型和系統(tǒng)的樹形結(jié)構(gòu)以及實(shí)體對(duì)象之間的關(guān)系,總的E-R圖如下(圖5-12):