,
(1.中國(guó)地質(zhì)大學(xué)(武漢)數(shù)學(xué)地質(zhì)遙感地質(zhì)研究所,湖北 武漢 430074; 2.中國(guó)地質(zhì)大學(xué)地質(zhì)過(guò)程與礦產(chǎn)資源國(guó)家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430074)
《地質(zhì)礦產(chǎn)術(shù)語(yǔ)分類代碼》(GB 9649—1988)曾由中國(guó)地質(zhì)礦產(chǎn)信息研究院進(jìn)行過(guò)入庫(kù)工作,在發(fā)布之后進(jìn)行過(guò)1次修編,由于標(biāo)準(zhǔn)制定的超前性及在地礦行業(yè)項(xiàng)目的應(yīng)用實(shí)踐中發(fā)現(xiàn)其存在一些漏洞及不足之處:缺少文字值——對(duì)地質(zhì)體各類特征屬性的具體描述(趙精滿,1991);缺少分類,分類不合理;編碼大量重復(fù)等。標(biāo)準(zhǔn)中大量重復(fù)使用數(shù)字順序碼對(duì)文字值進(jìn)行編碼(表1原代碼列),如在全國(guó)礦產(chǎn)資源潛力評(píng)價(jià)項(xiàng)目數(shù)據(jù)模型使用的標(biāo)準(zhǔn)中,代碼為“01”的數(shù)目達(dá)到了116項(xiàng)之多,而僅僅是代碼重復(fù)這個(gè)問(wèn)題就為項(xiàng)目中代碼的解釋工作設(shè)置了一個(gè)不小的難題。
為了更好地為地礦行業(yè)服務(wù),需及時(shí)、經(jīng)常對(duì)標(biāo)準(zhǔn)進(jìn)行修編,如對(duì)重復(fù)的數(shù)字順序碼,修編手段可采用對(duì)數(shù)字值賦屬性代碼的方式,使之單值化,如表1改進(jìn)后的代碼列(汪新慶等,1999)。
GB 9649—1988標(biāo)準(zhǔn)的修編是一項(xiàng)龐大、復(fù)雜的工程,本研究所涉及的標(biāo)準(zhǔn)修編是指利用數(shù)據(jù)字典技術(shù)、Web技術(shù)提供一個(gè)基于B/S(Browser/Server,瀏覽器/服務(wù)器)模式的標(biāo)準(zhǔn)修編共享平臺(tái),使修編工作能跨系統(tǒng)、跨區(qū)域地高效進(jìn)行。隨著數(shù)據(jù)字典技術(shù)的大力發(fā)展,在地礦行業(yè)信息系統(tǒng)中得到了不斷的應(yīng)用(左仁廣等,2006;陳永清等,2007;馬小剛等,2007;楊圣偉等,2008)。GB 9649—1988標(biāo)準(zhǔn)修編平臺(tái)中應(yīng)用數(shù)據(jù)字典技術(shù),目的是為標(biāo)準(zhǔn)修編工作提供便捷性及更好的安全保障。本研究將在了解數(shù)據(jù)字典的基礎(chǔ)上探討其在平臺(tái)中的應(yīng)用情況。
表1 原術(shù)語(yǔ)代碼與改進(jìn)后的術(shù)語(yǔ)代碼對(duì)比
目前還沒(méi)有關(guān)于數(shù)據(jù)字典(Data Dictionary,DD)的標(biāo)準(zhǔn)定義,一些學(xué)者對(duì)其作了嘗試性的解釋。如數(shù)據(jù)字典是在系統(tǒng)數(shù)據(jù)流程圖的基礎(chǔ)上進(jìn)一步定義和描述所有數(shù)據(jù)項(xiàng)的工具,是關(guān)于數(shù)據(jù)的數(shù)據(jù)(左仁廣等,2006);數(shù)據(jù)字典是用戶可以訪問(wèn)的一種信息集合的目錄,它記錄了有關(guān)數(shù)據(jù)庫(kù)以及應(yīng)用程序源數(shù)據(jù)的信息(鄭胤,2008);數(shù)據(jù)字典是整個(gè)數(shù)據(jù)庫(kù)的信息中心和情報(bào)系統(tǒng),是數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)(張遠(yuǎn),2011);數(shù)據(jù)字典是關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)中各類數(shù)據(jù)描述的集合(張龍等,2014)。分析以上的解釋,可以理解數(shù)據(jù)字典是在需求分析階段建立,存儲(chǔ)用戶定義的所有對(duì)象的有關(guān)信息、數(shù)據(jù)庫(kù)的結(jié)構(gòu)信息以及系統(tǒng)表的有關(guān)信息,它隨著數(shù)據(jù)庫(kù)的產(chǎn)生而產(chǎn)生,隨著數(shù)據(jù)庫(kù)的變化而變化。
數(shù)據(jù)字典與數(shù)據(jù)流程圖互為解釋,即通過(guò)表格或文字對(duì)數(shù)據(jù)流程圖中的每個(gè)成分給出詳細(xì)的描述和定義。數(shù)據(jù)字典主要是由對(duì)數(shù)據(jù)流程圖中的數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、處理邏輯、數(shù)據(jù)存儲(chǔ)、外部實(shí)體6個(gè)元素進(jìn)行具體的定義所組成。
數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),除了包含用戶數(shù)據(jù)的信息外,還包含很多非用戶數(shù)據(jù)的信息。這些非用戶數(shù)據(jù)的信息構(gòu)成了一個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的情報(bào)網(wǎng),一旦遭到破壞,就會(huì)導(dǎo)致整個(gè)系統(tǒng)的癱瘓,即使是數(shù)據(jù)庫(kù)系統(tǒng)本身完好也無(wú)濟(jì)于事。數(shù)據(jù)字典的重要作用便是用來(lái)集中保存這些信息,以保證數(shù)據(jù)庫(kù)的共享性、安全性、完整性、一致性、有效性、可恢復(fù)性以及可擴(kuò)充性。當(dāng)今,多數(shù)數(shù)據(jù)庫(kù)管理系統(tǒng)均以數(shù)據(jù)字典作為定義數(shù)據(jù)庫(kù)中各類數(shù)據(jù)對(duì)象及其相互關(guān)系的準(zhǔn)則(李禹生等,2003),可見(jiàn)數(shù)據(jù)字典是整個(gè)數(shù)據(jù)庫(kù)環(huán)境的重要組成部分,在數(shù)據(jù)庫(kù)生命周期內(nèi)起著不可或缺的作用。歸納起來(lái),其作用主要包括:(1) 標(biāo)準(zhǔn)化的工具;(2) 數(shù)據(jù)庫(kù)設(shè)計(jì)和分析的依據(jù);(3) DBMS(Database Management System,數(shù)據(jù)庫(kù)管理系統(tǒng))的得力助手;(4) 數(shù)據(jù)庫(kù)的窗口;(5) 創(chuàng)建和維護(hù)數(shù)據(jù)庫(kù)基表;(6) 數(shù)據(jù)一致性的保證;(7) 元數(shù)據(jù)管理。
GB 9649—1988標(biāo)準(zhǔn)修編平臺(tái)的工作方式是基于B/S模式,在有網(wǎng)情況下通過(guò)瀏覽器即可訪問(wèn)修編,這樣做的目的也是為了讓更多的學(xué)者方便地參與到這項(xiàng)修編工作中來(lái)。但標(biāo)準(zhǔn)的修編是一項(xiàng)專業(yè)、嚴(yán)謹(jǐn)?shù)墓ぷ?,需要各學(xué)科相關(guān)人員才可參與。所以需要對(duì)不同的用戶定義不同的工作角色和權(quán)限級(jí)別,不同的權(quán)限所對(duì)應(yīng)的處理標(biāo)準(zhǔn)的對(duì)象也不相同。為了區(qū)分不同用戶和不同權(quán)限,必須對(duì)用戶的修編權(quán)限進(jìn)行控制。
在系統(tǒng)用戶權(quán)限控制方面,傳統(tǒng)的做法是將用戶的信息以及用戶擁有的權(quán)限信息放置在1張表中,這種做法雖然簡(jiǎn)單可行,但問(wèn)題在于當(dāng)系統(tǒng)對(duì)用戶的權(quán)限做出變動(dòng)時(shí),用戶越多,改動(dòng)就會(huì)越多。在GB 9649—1988標(biāo)準(zhǔn)修編平臺(tái)中,將權(quán)限信息抽象出來(lái)存入1個(gè)數(shù)據(jù)字典中,使用時(shí)先通過(guò)用戶信息判斷用戶在平臺(tái)中扮演的角色,然后根據(jù)角色在字典中獲得其擁有的權(quán)限信息。這樣做的好處是平臺(tái)今后對(duì)權(quán)限做出任何改動(dòng)時(shí),都不需改動(dòng)用戶信息表,只需維護(hù)這個(gè)字典即可(表2)。
表2 修編權(quán)限控制數(shù)據(jù)字典
從平臺(tái)使用對(duì)象的角度出發(fā),暫定平臺(tái)的使用角色:(1) 超級(jí)管理員:平臺(tái)開(kāi)發(fā)者(僅1人);(2) 系統(tǒng)管理員(1人或數(shù)人):由超級(jí)管理員指定,擁有所有權(quán)限,其職責(zé)是對(duì)平臺(tái)及用戶進(jìn)行管理,更新、發(fā)布標(biāo)準(zhǔn);(3) 普通修編人員(學(xué)科注冊(cè)用戶):沒(méi)有用戶管理權(quán)限,可以對(duì)標(biāo)準(zhǔn)進(jìn)行查詢、下載及對(duì)所屬學(xué)科的標(biāo)準(zhǔn)進(jìn)行修編,但修編結(jié)果尚需進(jìn)一步審核;(4) 專家(內(nèi)部注冊(cè)用戶):沒(méi)有管理權(quán)限,可以對(duì)標(biāo)準(zhǔn)進(jìn)行查詢、下載、修編及審核普通修編人員的修編結(jié)果,一旦修編完成即可進(jìn)行修編結(jié)果公示;(5) 一般用戶(外部注冊(cè)用戶):可以對(duì)標(biāo)準(zhǔn)進(jìn)行瀏覽、查詢以及下載;(6) 游客(未注冊(cè)用戶)只能瀏覽、查詢標(biāo)準(zhǔn),不能下載標(biāo)準(zhǔn)(圖1)。
圖1 平臺(tái)用戶工作流程圖
GB 9649—1988標(biāo)準(zhǔn)修編平臺(tái)是全國(guó)范圍的、面向眾多修編人員的網(wǎng)絡(luò)平臺(tái),為大量的專家、學(xué)者參與到修編工作中來(lái)提供了方便,但是這樣一來(lái)造成了標(biāo)準(zhǔn)修編人員越多,產(chǎn)生不同的數(shù)據(jù)版本即記錄特定對(duì)象的各個(gè)可選狀態(tài)的快照(張雨等,2011)也就越多。為了遵循標(biāo)準(zhǔn)修編歷史可檢索的原則,同時(shí)也為下次修編工作提供參考,不能簡(jiǎn)單地將標(biāo)準(zhǔn)修編過(guò)程中產(chǎn)生的不同版本集合在一起,而是應(yīng)該明確地表示出各版本之間的關(guān)系。因此,必須對(duì)標(biāo)準(zhǔn)修編過(guò)程中不同用戶產(chǎn)生的不同版本進(jìn)行有效的管理。
目前,版本管理的方法一般有無(wú)環(huán)有向圖版本管理、樹(shù)形版本管理和線性版本管理3種(葉飛躍,1998)。在分析3種方法優(yōu)劣的基礎(chǔ)上,為了實(shí)現(xiàn)的方便與高效,對(duì)標(biāo)準(zhǔn)修編版本的管理采用簡(jiǎn)單易行的線性版本管理辦法,即1個(gè)版本只能生成1個(gè)后續(xù)版本,1個(gè)后續(xù)版本也只能由1個(gè)前驅(qū)版本生成,以版本產(chǎn)生的時(shí)間先后進(jìn)行排序,除了最新版本外其余版本只讀。其次,為了降低標(biāo)準(zhǔn)修編過(guò)程中管理版本帶來(lái)的數(shù)據(jù)冗余,采用后續(xù)版本只保存與前驅(qū)版本差集的做法,使相同數(shù)據(jù)不會(huì)被重復(fù)存儲(chǔ),保證了存儲(chǔ)空間的合理使用。
GB 9649—1988標(biāo)準(zhǔn)的詞條在庫(kù)中具有4個(gè)屬性項(xiàng),分別是代碼、漢字名、英譯名及備注(表1),詞條分學(xué)科存儲(chǔ)在不同的關(guān)系表中。在實(shí)現(xiàn)修編線性版本管理時(shí),為了只存儲(chǔ)版本之間的差集,必須打破詞條與各隸屬表一一對(duì)應(yīng)的關(guān)系。在詞條與修編人員之間建立數(shù)據(jù)字典,使得版本和數(shù)據(jù)字典相對(duì)應(yīng)。利用數(shù)據(jù)字典記錄修編詞條的歸屬、隸屬的版本號(hào)和其他的基本信息,完成版本管理的數(shù)據(jù)字典參見(jiàn)表3。其中,前面4個(gè)數(shù)據(jù)項(xiàng)用以存儲(chǔ)詞條的基本信息;數(shù)據(jù)項(xiàng)uflag、aflag、dflag分別用以表示詞條是否被修改、添加或刪除,取值只能是0或1,1表示各自操作已執(zhí)行,0則表示未執(zhí)行;table_name表示該詞條來(lái)源于某個(gè)學(xué)科所屬表;username表示對(duì)詞條進(jìn)行了修編的修編人員名稱;execute_time記錄修編時(shí)間;version_no為進(jìn)行版本管理的版本號(hào),版本建立之時(shí)賦初值1,隨著版本的增多進(jìn)行累加,但它的值一直指向當(dāng)前操作的版本號(hào)(表3)。
表3 標(biāo)準(zhǔn)版本管理數(shù)據(jù)字典
引入版本管理后,標(biāo)準(zhǔn)的初始代碼庫(kù)將不會(huì)被改變,修編人員修編1個(gè)詞條,平臺(tái)就在版本字典中登記1行信息。在對(duì)歷史修編進(jìn)行回顧時(shí),從版本字典中既能找到詞條的修編描述,又能找到是何人于何時(shí)對(duì)詞條做了改動(dòng)。在需要獲得不同版本時(shí),只需先用SQL語(yǔ)言從版本字典中取出指定版本號(hào)的詞條信息,再和原始代碼庫(kù)中的詞條信息進(jìn)行綜合取舍即能完成版本呈現(xiàn)。
在分析GB 9649—1988標(biāo)準(zhǔn)修編必要性及數(shù)據(jù)字典組成和作用的基礎(chǔ)上,以數(shù)據(jù)字典在標(biāo)準(zhǔn)修編平臺(tái)“修編權(quán)限控制”、“修編版本管理”等方面的運(yùn)用為例,探討了數(shù)據(jù)字典技術(shù)在地質(zhì)礦產(chǎn)術(shù)語(yǔ)分類代碼修編平臺(tái)中的具體應(yīng)用。通過(guò)數(shù)據(jù)字典技術(shù),實(shí)現(xiàn)了對(duì)不同修編人員的權(quán)限控制,完成了不同修編人員對(duì)標(biāo)準(zhǔn)修編產(chǎn)生的不同版本的管理功能,使標(biāo)準(zhǔn)修編工作得以科學(xué)的、合理的、安全的方式進(jìn)行。
陳永清,汪新慶,陳建國(guó),等.2007.基于GIS的礦產(chǎn)資源綜合定量評(píng)價(jià)[J].地質(zhì)通報(bào),26(2):141-149.
GB 9649—1988,地質(zhì)礦產(chǎn)術(shù)語(yǔ)分類代碼[S].
李禹生,何健,彭飛.2003.VFP數(shù)據(jù)字典工具及其應(yīng)用系統(tǒng)維護(hù)[J].武漢工業(yè)學(xué)院學(xué)報(bào),22(2):32-34.
馬小剛,汪新慶,毋麗紅,等.2007.應(yīng)用數(shù)據(jù)字典實(shí)現(xiàn)多源地質(zhì)空間數(shù)據(jù)的通用管理[J].礦業(yè)研究與開(kāi)發(fā),27(1):37-40.
汪新慶,劉剛,袁艷斌,等.1999.地質(zhì)礦產(chǎn)術(shù)語(yǔ)分類代碼在地礦點(diǎn)源信息系統(tǒng)中的應(yīng)用[J].地球科學(xué),24(5):529-532.
葉飛躍.1998.關(guān)系數(shù)據(jù)庫(kù)的版本管理[J].計(jì)算機(jī)應(yīng)用研究,15(5):103-105.
楊圣偉,汪新慶.2008.數(shù)據(jù)字典在煤炭數(shù)據(jù)發(fā)布平臺(tái)中的應(yīng)用[J].煤田地質(zhì)與勘探,36(6):17-19.
趙精滿.1991.地質(zhì)礦產(chǎn)信息系統(tǒng)建設(shè)的基礎(chǔ)技術(shù)標(biāo)準(zhǔn):地質(zhì)礦產(chǎn)術(shù)語(yǔ)分類代碼[C]//中國(guó)地球物理學(xué)會(huì),美國(guó)面向地學(xué)的計(jì)算機(jī)學(xué)會(huì).計(jì)算機(jī)在地學(xué)中的應(yīng)用國(guó)際討論會(huì)論文摘要集.中國(guó)北京:中國(guó)地球物理學(xué)會(huì),654-657.
左仁廣,汪新慶,夏慶霖.2006.礦產(chǎn)預(yù)測(cè)基礎(chǔ)數(shù)據(jù)庫(kù)的數(shù)據(jù)檢查[J].地質(zhì)通報(bào),25(4):528-532.
鄭胤.2008.天津航道局信息化幫助平臺(tái)及數(shù)據(jù)字典的設(shè)計(jì)與實(shí)施[D].天津:天津大學(xué).
張遠(yuǎn).2011.達(dá)夢(mèng)數(shù)據(jù)庫(kù)數(shù)據(jù)字典設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué).
張雨,李郅威.2011.簡(jiǎn)析工程數(shù)據(jù)庫(kù)版本管理[J].科技信息,(24):210-210.
張龍,汪新慶.2014.基于數(shù)據(jù)字典的空間數(shù)據(jù)庫(kù)通用建庫(kù)技術(shù)[J].國(guó)土資源遙感,26(1):173-178.