針對(duì)構(gòu)建物技藝的勘驗(yàn)分析儀器的系統(tǒng)建設(shè)
一、采用面向?qū)ο蟮臄?shù)據(jù)庫(kù)的必要性
在該系統(tǒng)的開(kāi)發(fā)過(guò)程中,研究的對(duì)象一般是指測(cè)量實(shí)體對(duì)象模型,比如測(cè)站、測(cè)量點(diǎn)、測(cè)量結(jié)果等實(shí)體及各自的具體內(nèi)容,另外還有環(huán)境模型如操作者、天氣、氣壓、測(cè)量等級(jí)以及各種限差。由于這些模型組成的系統(tǒng)涉及的對(duì)象繁多,相互關(guān)系又比較復(fù)雜,需要統(tǒng)一信息數(shù)據(jù)庫(kù)進(jìn)行管理。但若采用常用的關(guān)系型數(shù)據(jù)庫(kù),很難對(duì)實(shí)體結(jié)構(gòu)進(jìn)行描述,也無(wú)法體現(xiàn)實(shí)體之間的層次關(guān)系和組成關(guān)系,因而我們考慮應(yīng)采用面向?qū)ο蟮臄?shù)據(jù)庫(kù)形成結(jié)構(gòu)。
對(duì)象是一個(gè)客觀世界中存在的現(xiàn)實(shí)事物及其相互作用關(guān)系的抽象的描述,這些事物具有相同的特征,并服從和遵守相同的原則。在測(cè)量系統(tǒng)中一個(gè)點(diǎn)是一個(gè)對(duì)象,一次測(cè)量結(jié)果同樣是一個(gè)對(duì)象。一個(gè)狀態(tài)或者一種現(xiàn)象只要與系統(tǒng)研究有關(guān),又不使問(wèn)題研究變得過(guò)于復(fù)雜,都可以確定為一個(gè)對(duì)象。
對(duì)象可看作為問(wèn)題空間的實(shí)體,在全局范圍是開(kāi)放的,而在局部?jī)?nèi)是封閉自主的。對(duì)象有獨(dú)立封裝的數(shù)據(jù)和操作,它的數(shù)據(jù)描述了對(duì)象的狀態(tài),而操作能改變對(duì)象的狀態(tài)或者實(shí)現(xiàn)某一特定的功能。
從存儲(chǔ)角度看,對(duì)象是一片私有存儲(chǔ)區(qū),它按內(nèi)部安排保存自己的專有信息,只有私有操作才能增減改變。這些私有數(shù)據(jù)表示了對(duì)象的狀態(tài),其他對(duì)象要改變這些狀態(tài)的方式只能是發(fā)送消息。從對(duì)象的實(shí)現(xiàn)機(jī)制看,它是一臺(tái)自動(dòng)機(jī),它的狀態(tài)只能自行操作改變,其他對(duì)象發(fā)送的消息被該對(duì)象響應(yīng)后,根據(jù)消息機(jī)制找到匹配方法,并執(zhí)行相應(yīng)的操作。發(fā)送消息只能觸發(fā)自動(dòng)機(jī),這種觸發(fā)方式在同樣的輸入?yún)?shù)時(shí)可因自動(dòng)機(jī)的狀態(tài)不同而結(jié)果不同,這樣多個(gè)對(duì)象能從另一對(duì)象中獲取信息。而過(guò)程調(diào)用時(shí)若輸入相同,結(jié)果一定相同。
正因?yàn)閷?duì)象的狀態(tài)變量對(duì)外開(kāi)放性能可控可觀,它的對(duì)內(nèi)封閉性能自控可觀,而可控是通過(guò)事件觸發(fā)的形式實(shí)現(xiàn),自控是通過(guò)過(guò)程控制的方式實(shí)現(xiàn),所以這樣就為實(shí)現(xiàn)復(fù)雜系統(tǒng)的控制提供了理論基礎(chǔ),因而可采用面向?qū)ο蟮臄?shù)據(jù)庫(kù)。
二、數(shù)據(jù)庫(kù)的設(shè)計(jì)
1.總體分析
根據(jù)用戶的要求,結(jié)合實(shí)際的測(cè)量過(guò)程和數(shù)據(jù)要求,在對(duì)該系統(tǒng)軟件模型經(jīng)過(guò)多次反復(fù)模擬、修正的基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行認(rèn)真的功能分析() ,并使用Rational Rose進(jìn)行模型和核心代碼的同步生成。從圖中可以看出數(shù)據(jù)庫(kù)在該系統(tǒng)中的核心作用,系統(tǒng)的主要功能都與數(shù)據(jù)庫(kù)相關(guān)。
2.詳細(xì)設(shè)計(jì)
在對(duì)總體分析的基由可知在該系統(tǒng)中各個(gè)功能都與數(shù)據(jù)庫(kù)有密切的聯(lián)系,而每部分功能都包含不同類型對(duì)象及大量對(duì)應(yīng)的數(shù)據(jù),這些數(shù)據(jù)若用普通關(guān)系型數(shù)據(jù)庫(kù)管理,因缺乏對(duì)實(shí)體的結(jié)構(gòu)進(jìn)行描述的方法而不能反映實(shí)體之間的層次關(guān)系和組成關(guān)系。面向?qū)ο蟮臄?shù)據(jù)模型是一種語(yǔ)義關(guān)聯(lián)模型,其基本組成單元是數(shù)據(jù)對(duì)象,對(duì)象是現(xiàn)實(shí)問(wèn)題中的一個(gè)實(shí)體,并用屬性描述對(duì)象的特征,同時(shí)又可指定某個(gè)屬性(或多個(gè)屬性組合)作為對(duì)象的標(biāo)識(shí)符。如實(shí)體類中的點(diǎn),有抽象點(diǎn)、技術(shù)點(diǎn)、測(cè)站點(diǎn)等,而一次測(cè)量結(jié)果不僅包括實(shí)際觀測(cè)結(jié)果還包括環(huán)境、測(cè)量等級(jí)等。所以建立數(shù)據(jù)庫(kù)時(shí)應(yīng)考慮對(duì)象之間的如下關(guān)系:1.抽象關(guān)系。表現(xiàn)為可存儲(chǔ)性,它強(qiáng)調(diào)設(shè)計(jì)前的系統(tǒng)分析,并全面、系統(tǒng)、詳盡地描述數(shù)據(jù)信息,引入了更加豐富的數(shù)據(jù)結(jié)構(gòu)和類型,并設(shè)立一片私有存儲(chǔ)區(qū),存放能表征實(shí)體對(duì)象的數(shù)據(jù)與操作,形成一種數(shù)據(jù)驅(qū)動(dòng)的程序設(shè)計(jì)方法。如在一個(gè)測(cè)站上的一次完整測(cè)量模型數(shù)據(jù)是一個(gè)實(shí)體,則可確定為一個(gè)對(duì)象。它有獨(dú)立的結(jié)構(gòu)數(shù)據(jù),如操作者、天氣、風(fēng)向、氣壓等;又有關(guān)聯(lián)數(shù)據(jù),如存儲(chǔ)的測(cè)站信息、目標(biāo)點(diǎn)以及每次的觀測(cè)值等;更有控制數(shù)據(jù),如各種限差、測(cè)量等級(jí)、測(cè)量模式等。這些數(shù)據(jù)只能由與測(cè)量模型有關(guān)的事件享用。
2.繼承關(guān)系。它反映一個(gè)對(duì)象類與若干個(gè)互不相容的子類之間的分類關(guān)系。高層類描述一般屬性,低層類說(shuō)明特殊屬性,低層類對(duì)象繼承高層類對(duì)象的屬性。這種繼承性按繼承關(guān)系帶入一些預(yù)定功能,并可做修改。從而減少代碼的冗余和協(xié)調(diào)簡(jiǎn)化對(duì)象類之間的接口。如測(cè)站和目標(biāo)點(diǎn)都是點(diǎn)對(duì)象的子對(duì)象。
3.聚集關(guān)系。聚集關(guān)系反映了嵌套對(duì)象的概念,嵌套對(duì)象是由一些其他對(duì)象組成的,它用來(lái)描述更高層次的對(duì)象的一種形式。也就是對(duì)象間的組裝、合并、分離、拼接等關(guān)系。如一測(cè)站測(cè)量結(jié)果由測(cè)站對(duì)象、技術(shù)點(diǎn)對(duì)象、儀器對(duì)象等組成。
面向?qū)ο蟮臄?shù)據(jù)庫(kù)不同于關(guān)系數(shù)據(jù)庫(kù),關(guān)系數(shù)據(jù)庫(kù)使用查尋語(yǔ)句面向終端用戶,把邏輯數(shù)據(jù)與物理實(shí)現(xiàn)分開(kāi)。而面向?qū)ο蟮臄?shù)據(jù)庫(kù)是一種語(yǔ)義關(guān)聯(lián)模型,主要描述實(shí)體之間的層次關(guān)系和組成關(guān)系。
該系統(tǒng)通過(guò)把各種復(fù)雜的對(duì)象組織在統(tǒng)一的數(shù)據(jù)庫(kù)內(nèi),從而可以有效地使用高級(jí)語(yǔ)言中預(yù)先定義的數(shù)據(jù)結(jié)構(gòu)及控制結(jié)構(gòu)進(jìn)行描述,實(shí)現(xiàn)其相應(yīng)功能。
是根據(jù)上述思想給出的一個(gè)具體例子。從中可以看出采用面向?qū)ο蟮乃枷朐O(shè)計(jì)數(shù)據(jù)庫(kù)組織數(shù)據(jù)時(shí)具有脈絡(luò)清楚、易于管理等多個(gè)優(yōu)點(diǎn)。
三、數(shù)據(jù)的存入與讀取
根據(jù)上述思想設(shè)計(jì)好面向?qū)ο蟮臄?shù)據(jù)庫(kù)模型后,就進(jìn)入到數(shù)據(jù)庫(kù)的物理設(shè)計(jì)階段,即數(shù)據(jù)庫(kù)的存儲(chǔ)實(shí)現(xiàn)和檢索實(shí)現(xiàn)。由于兩者有極大的相似性,下面以數(shù)據(jù)檢索為例作說(shuō)明。
比如說(shuō)要查詢某個(gè)測(cè)站上的測(cè)量數(shù)據(jù)。首先打開(kāi)包含該測(cè)站的數(shù)據(jù)庫(kù)(即某個(gè)文件) ,然后建立與該測(cè)站相關(guān)的測(cè)站對(duì)象、測(cè)站容器對(duì)象、測(cè)站過(guò)濾器對(duì)象等實(shí)現(xiàn)對(duì)該測(cè)站的搜索,這樣就可以得到測(cè)站的相關(guān)信息。接下來(lái)采用類似的方法在已知的測(cè)站上根據(jù)技術(shù)點(diǎn)搜索到與此相關(guān)的所有測(cè)量結(jié)果,從而可以獲得每次測(cè)量的每一項(xiàng)測(cè)量值,如所示。
四、結(jié)論
我們?cè)谙到y(tǒng)的設(shè)計(jì)實(shí)現(xiàn)過(guò)程中,采用的就是這種面向?qū)ο蟮臄?shù)據(jù)庫(kù)。在這種數(shù)據(jù)庫(kù)的組織下,各開(kāi)發(fā)人員可以獨(dú)立有效地對(duì)數(shù)據(jù)庫(kù)實(shí)行或讀或?qū)懙牟僮鳌M瑫r(shí),當(dāng)數(shù)據(jù)庫(kù)設(shè)計(jì)得不盡完善時(shí),可以很方便地實(shí)現(xiàn)增加刪除對(duì)象或者對(duì)對(duì)象的內(nèi)部數(shù)據(jù)增刪改。在儀器上的使用也都證明了以上的思想。
面向?qū)ο蟮臄?shù)據(jù)庫(kù)作為一種新的建庫(kù)思想,有著廣闊的前景,它相對(duì)于其他模型的數(shù)據(jù)庫(kù)有以下幾個(gè)優(yōu)點(diǎn):
1.面向?qū)ο蟮臄?shù)據(jù)庫(kù)為測(cè)量數(shù)據(jù)的管理定義了一個(gè)一致的數(shù)據(jù)庫(kù)模型,能更加真實(shí)地表達(dá)現(xiàn)實(shí)世界,從而提供一個(gè)功能完備的平臺(tái),使系統(tǒng)集成更為便利。
2.采用面向?qū)ο蟮臄?shù)據(jù)庫(kù)能夠定義對(duì)象間的復(fù)雜關(guān)系,有利于管理和分析;能減少數(shù)據(jù)的冗余,這對(duì)于存儲(chǔ)容量小的儀器是很有用的。
3.數(shù)據(jù)獨(dú)立存儲(chǔ)可實(shí)現(xiàn)數(shù)據(jù)集中管理,同時(shí)由于數(shù)據(jù)被系統(tǒng)完全封裝,可以實(shí)現(xiàn)靈活的調(diào)用,增加數(shù)據(jù)的重用性。中國(guó)糧油儀器網(wǎng) http://www.6upk.com/



