王昱元,趙懷鑫,張紹陽,宋文麗(.長安大學信息工程學院,陜西西安70064;.陜西省交通運輸廳綜合規劃處,陜西西安700;.西安興網通信科技有限公司,陜西西安70075)
交通運輸信息系統數據庫字段命名及屬性定義規范化研究
王昱元1,趙懷鑫2,張紹陽1,宋文麗3
(1.長安大學信息工程學院,陜西西安710064;2.陜西省交通運輸廳綜合規劃處,陜西西安710021;3.西安興網通信科技有限公司,陜西西安710075)
為促進交通運輸行業數據的共享交換,加強共享交換信息的可理解性和信息系統的可維護性,結合交通運輸行業信息化發展現狀,提出統一交通運輸信息系統數據庫字段命名方法以及屬性定義。在字段命名方面,考慮字段名的業務屬性、標準性及可理解性,給出了包括基本業務領域標識、引用標準類別標識和字段名縮寫等部分的字段命名規則,其中字段名縮寫采用中文名稱拼音縮寫和英文名稱縮寫兩種方法。在屬性定義方面,根據《交通信息基礎數據元》(JT/T 697—2013)中的數據屬性定義方法,對常見的5類數據庫管理系統的字段類型、格式及備注等屬性定義作了推薦。相關交通運輸信息化項目應用表明,通過對字段名和屬性定義的規范,保證了數據交換和共享雙方的相互識別,提高了在標準符合性檢測方面的準確率。
交通運輸行業;字段命名方法;字段屬性;數據共享交換;名稱縮寫
“十二五”期間,交通運輸信息化的主要目標是實現“從效率到效能、從分散到集約、從封閉到開放”的三個轉變,因此共享交換在避免重復建設、落實協同機制、實現資源共享等方面具有深遠的意義。從數據的交換和共享角度,規范的數據庫字段名在數據交換中是保證雙方相互識別的主要標識,同時,字段屬性在同一數據庫的統一定義也會給交換和共享帶來便利。
《交通信息基礎數據元》(JT/T 697—2013)[1]是交通運輸行業重要的數據標準,遵守ISO/IEC 11179—1的規定,在數據元的屬性中,給出了分類編號。該編號采用“字母+數字”分類序號的方式,但沒有字段名屬性。在字段名稱設計中,使用該數據元標準的中文名稱或分類編號存在很多弊端,不符合軟件開發習慣,通常開發人員傾向于使用自定義的字段名,這樣造成了數據字段和標準不對應的問題;在屬性規定方面,《交通信息基礎數據元》出于統一數據屬性的目的對數據的類型、格式等屬性進行了規定,但為了避免特定數據庫管理系統的限制,規定的類型和格式使用通用的方法描述。然而在實際編程中參照標準進行數據庫字段設計時,由于數據庫系統不同、表達方式不同、編程階段不同等,開發人員存在理解差異,造成數據字段的屬性定義不統一,影響了標準的執行效果。
目前,其他一些行業已不同程度地開展了數據庫字段命名及屬性定義方法的研究工作。如劉麗等[2]針對國土資源數據庫命名缺乏整體協調統一的問題,結合國土資源數據具有多業務、多時相、多領域、海量性等重要特征推薦了兩類命名規則:以行政區為基礎的命名規則和以標準圖幅為基礎的命名規則。這兩類規則皆采用三十位數字的編碼方法,使不同時間、不同業務、不同空間上的數據命名達到標準上的統一。張永波等[3]制訂了《中國地下水資源空間數據庫標準》,其中采用了“八位數字+字母”的圖元編碼方法對相關地下水資源數據進行統一規范,提高了全國地下水資源評價的效率與準確率。王霞等[4]提出了衛生信息編碼標準代碼體系,對衛生信息進行分類并加以編碼,該信息編碼標準遵循國際標準、國家標準和行業標準的原則,建立和制訂了適合、滿足行業需要的信息編碼體系和標準。
另外,一些通用的字段命名方法在各種數據庫管理系統以及編程語言中都得到了廣泛的應用,如駝峰命名法、Pascal命名法、匈牙利命名法。Ora?cle推薦了字段名命名方法,其中規定英文單詞可以采用縮寫命名,單詞之間用下劃線連接,對于存儲特殊內容的字段可以將具有特殊含義的單詞加在結尾;MYSQL也推薦了字段命名規則,規定表別名加單詞的方法,首字母小寫,后面單詞的首字母大寫。
現有數據庫字段命名方法及其混合方法雖然在眾多數據庫中可滿足編程人員的要求和習慣,但由于交通運輸行業的行業特點,并不能滿足或符合行業內的數據共享與交換要求。而事實上當前交通運輸行業數據庫字段命名方法的不統一的確給數據共享和交換帶來諸多不便,為此本文將參考其他行業在字段名統一方面的成果,提出對交通類數據庫字段命名和數據屬性定義進行統一規定,并對主流數據庫中不同存儲對象的字段類型、格式和備注等屬性信息進行推薦,以期推動業界數據的共享與交換工作。
1.1 數據組織粒度
數據的產生可以分為以下兩種情況。第一種情況:產生自客觀事物信息的數據化。客觀事物信息的數據化過程就是將現實世界中的信息轉化為計算機中存儲數據的過程。第二種情況:從其他系統交換而來的數據,屬信息的互聯互通,也是信息化發揮綜合效益的重要途徑。可見,從其他系統交換數據是信息系統數據的重要來源之一。
信息有粒度,數據也是有粒度的。從數據的產生過程可知,客觀事物信息數據化時,即產生了單個的獨立數據;同一類獨立數據的集合,形成數據組織的最原始單位,即數據項;對多個數據的有序組織,就形成了數據集。因此,從數據組織角度,可將數據分為三個粒度:獨立數據、數據項、數據集。
(1)獨立數據
獨立數據是指單個的、具體的客觀事物的屬性值。例如“張三”,該數據代表某個人的姓名。獨立數據具有數量龐大、分散的特點,不易管理。歸類是人類認識事物的一個基本方法。在數據管理中,一般也對數據進行歸類。
(2)數據項
數據項是對客觀事物某個屬性標識及其內容的總稱,也稱為數據元素,可以理解為同一類數據的集合,數據項的定義即為該類數據的定義。例如,“姓名”代表了一個數據項,“張三”是該數據項的一個特定值,該值必須服從“姓名”數據項的定義。數據項將數據按類別進行有效組織,起到了提綱挈領的作用。數據項的定義包括類型、格式等,是計算機中對數據進行組織的最小單位。數據項的定義對獨立數據形成了約束。在關系型數據庫中,數據項與“字段”的定義相對應。
(3)數據集
數據集是指有限數據項及其內容的集合。在交換中,一般是以數據集的方式進行交換,數據集是交換數據的集合,可大可小。數據集的屬性包括其組織方式、內容、表示方式等。
1.2 數據交換中的數據概念及其粒度
信息的價值是在交換中體現的。從前文可知,從其他系統交換數據是信息系統數據的一個重要來源。下面針對關系型數據庫之間的數據交換過程進行分析。
在關系型數據庫中,所有數據都存儲在關系(通常所說的二維表)中。客觀事物的同一特性的數據存儲在二維表的一個列中,該列稱為一個字段(或屬性),字段的概念與數據項的概念相對應。每一行對應著一個客觀事物對象,稱為記錄(或元組)。因此,在以關系型為主的數據存儲中,數據的標準化就是對關系表的字段(即列)定義的統一規定。
在交換過程中,單個數據是最基本的交換內容。數據的組織可分為以下三個層次。
(1)第一層次:采用以“行”為主的組織方式。由于單個數據自身信息的不完整性,例如,數據庫A中的字段A112中存儲了人員的身高數據,需要傳遞到目標數據庫中,但大多情況下僅傳遞身高數據到目標數據庫中是無意義的,目標數據庫不知道身高數據是誰的數據。因此,一般情況下,數據及其識別信息(數據表的主鍵)需要一起傳遞,如果將數據和其識別信息分離,在入庫時將增加復雜性。因此,交換數據集的數據結構以“記錄”(一組相互關聯的數據)為組織更為合理,便于數據的識別。
(2)第二層次:以相互獨立的交換單元容納多組關系數據。一個表的多條記錄能夠構成一個內部循環的交換單元,由于各個表的結構不同,放在一起會增加數據解析的復雜性,因此,使多個單元相互獨立,在一個交換數據集中就可容納多個表的數據。
(3)第三層次:在交換數據集和交換單元中都增加描述信息,使數據集成為自描述的。這樣,在一個交換數據集便可自由地、完整地表示出包含多個數據關系(表)、多個屬性(字段)中任意數據(記錄)的一次交換。
關系型數據庫的交換數據集的數據結構如圖1所示。
圖1所示模型體現了交換數據組織的相關性(相關數據使用“記錄”方式組織)、包容性(多個交換單元的數據共同交換)、靈活性(交換記錄的數量和內容未受限定)、通用性(采用XML描述格式,適宜于異構系統之間的交換),因此,該模型同樣也適用于其他的數據存儲方式。
可見,數據是以“記錄”為最小單元進行共享交換的,因此,從交換信息的可識別性的角度,數據字段屬性的統一規定具有重要的作用。
2.1 交通運輸數據庫字段名組成規則
字段名設計的目的是讓用戶能夠更好地理解該字段所包含數據的含義。字段名應盡量采用自然語言的方式,但同時又要便于形式化處理。通俗來講,就是既要便于理解,又要簡潔。前綴和后綴可以提高字段名的可理解性,本文在設計字段名時選擇增加前綴的方式。在編程中,通常采用表名、字段類型等前綴進行表示。這些類型的前綴僅能提供字段本身的屬性,屬于編程層次的識別性問題。

圖1 通用的交換模型示意圖
交通行業業務領域眾多,因此通過對業務領域進行標識,使用者可以較容易地分辨該數據項所屬的業務領域,從而對數據項的范圍等相關信息進行了解。另外,通過標識,可以較好地解決字段名重復的問題。對業務領域按照系統或者子系統所在業務領域的大類進行劃分,可免除用戶對每個數據進行確認的繁瑣。
交通行業所頒布的標準眾多,僅僅交通運輸數據方面的標準已發布一百多項,隨著行業的發展將會產生更新、更多的標準。因此,通過對應用標準類別標識,使用者可以了解到數據項所采用的標準,繼而進一步理解字段的含義。
本文提出的交通運輸數據庫字段名包含三個部分,如圖2所示。

圖2 交通運輸數據庫字段名組成規則
2.2 交通運輸業務領域的標識
2.2.1 基本業務領域的標識方法
在現有的交通信息化標準中,共有兩個標準對交通信息資源的業務領域進行了劃分。
《交通信息基礎數據元》(JT/T 697—2013)[1]對交通運輸業務領域進行了劃分,并對業務領域的代碼進行了簡寫,如表1所示。

表1 交通運輸業務領域及其字母代碼[1]
《公路水路交通信息資源業務分類》(JT/T 748—2009)[5]對交通運輸信息資源進行了分類,為資源目錄體系的建立提供參考,如表2所示。

表2 公路水路交通信息資源業務分類方法[5]
兩種分類方法在類別和代碼規定方面都有些區別。由于數據元在行業中認可度更高,所以本文數據庫字段采用JT/T 697—2013中的數據元分類方法來進行交通信息數據所在的業務領域的標識,即業務領域采用兩個字母進行標識,據此,可在數據字段中保留兩位業務領域的標識作為字段前綴。
2.2.2 自定義業務領域的標識方法
對于表1中未能覆蓋的交通運輸業務領域或具有特殊數據定義要求的系統,用戶可采用自定義的兩位大寫字母進行標識。
自定義交通運輸業務領域標識編寫應滿足如下要求:
(1)采用關鍵詞的漢語拼音縮寫;
(2)不與現有標識重復。
2.3 引用標準的類別標識
在交通運輸行業中,ITS標準化組織、全國集裝箱標準化技術委員會、全國智能運輸標準化技術委員會制訂了大量的國家標準,如《產品數據字典的維護規范》(GB/T 28040—2011)、《信息技術數據元的規范與標準化》(GB/T 18391—2001);交通運輸部信息通信及導航標準化技術委員會、交通運輸部航測標準化委員會等也制訂了大量的交通運輸行業標準,如《交通信息基礎數據元》(JT/T 697—2013)以及各業務領域的接口標準;除此以外,還有用戶引用的本地數據字段相關標準。
以上標準為交通運輸行業的發展奠定了良好的基礎,因此本文擬將數據字段名的第三位作為標準的分類標識,用數字表示,具體意義如下:
0:國家標準;
1:交通運輸行業標準;
2:其他行業標準;
3:地方標準;
4:國際標準;
5:保留將來使用;
6:保留將來使用;
7:保留將來使用;
8:保留將來使用;
9:用戶自定義的數據字段。
2.4 字段中文/英文名稱縮寫方法
根據我國信息化行業習慣和國際發展趨勢,本文給出兩種交通運輸信息數據字段名稱縮寫方法:字段中文名稱拼音縮寫法和字段英文名稱縮寫法。
2.4.1 中文名稱拼音縮寫的字段命名方法
中文名稱縮寫,即將名稱中每個漢字拼音縮寫為其聲母的首字母,這些首字母順序組合形成該字段的縮寫,其中首字母全部采用大寫。例如:“船舶登記號”數據項名稱,其拼音首字母可以縮寫為:CBDJH。該數據項的業務領域為“船舶”,在JT/T 697.5中對該數據項進行了定義,則其字段可命名為CB1_CBDJH。
當字段名在一個數據表或者數據集中重復出現時,采用以下方法解決[6]。
(a)重復字段的中文名稱全拼不同。這種情況下可將后規定的中文名稱中不同字的全拼用小寫拼寫出來。例如:中文名稱為“加載船舶數量”和“減載船舶數量”的兩個字段,按照命名規則,它們的字段名都為:CB1_JZCBSL,但它們的中文全拼不完全相同,可將后面一個數據元命名為CB1_JianZCBSL。
(b)重復字段的中文名稱全拼完全相同。將重復的字段命名后面依次添加“_1”、“_2”等后綴。例如:“航行作業性質”數據項,第一個的同名字段可命名為CB1_HXZYXZ_1,第二個的同名字段可命名為CB1_HXZYXZ_2。
2.4.2 英文名稱縮寫的字段命名方法
牛津字典給出的英文縮寫方法有如下幾種[]:
(1)壓縮是一種省略單詞中間字母的縮寫類型;
(2)縮略詞是一種省略單詞開頭或結尾的縮寫類型,有些情況下開頭與結尾皆省略;
(3)首字母縮略詞是一種保留單詞中最初發音字母的縮寫類型;
(4)縮略語是一種由單詞的首字母組成一個新單詞的縮寫類型,并且縮略語按照新單詞的拼寫發音。
《JCR收錄的英文刊名常用詞縮寫分析》給出下述縮寫規則[]:
(1)少于五個(含五個)字母的單詞一般不縮寫;
(2)單詞縮寫應省略在輔音之后,元音之前;
(3)英文單詞縮寫一般以輔音結尾,而不以元音結尾,如American省略為Am,而不省略為Ame或Amer。
結合上述,參考《牛津字典》中的英文縮寫方法,以明確字段名含義、便于用戶理解數據所存儲內容為目的,從易于編程實現的角度,本文建議選取單詞的第一個音節作為其縮寫,并總結出以下英文縮寫規則。
(1)字段英文名稱為單個單詞,直接用該單詞作為字段名。
(2)字段英文名稱為兩個及兩個以上單詞,則采用縮寫拼接法,即對每個單詞進行縮寫后拼接,每個縮寫單詞首字母大寫,其余字母小寫,縮寫單詞之間無分隔符。英文單詞的縮寫常用規則為:
①英文單詞縮寫一般規則為:省略在輔音之后,元音之前;
②英文單詞縮寫至少保留一個元音;
③英文單詞縮寫一般以輔音結尾,而不以元音結尾,如American省略為Am,而不省略為Ame或Amer;
④當單詞的第二個字母為元音時,省略在第二個元音之前,如Medicine或Medical縮寫為Med,European縮寫為Eur等;
⑤當遇到兩個相連的元音時,以第一個元音結尾,省略第二個,如Science,縮寫為Sci;
⑥英文名稱中的虛詞省略。
(3)當字段名縮寫出現重復時,全部拼寫英文名稱中的第一個單詞。如果仍然重復,依次向后使用單詞的全部拼寫。所有單詞全部拼寫后仍然重復的情況下,可在縮寫的字段名后面依次添加“_1”、“_2”等后綴。
例如:機動車道最大寬度的英文推薦名是CK1_DrMW;機動車道最小寬度的英文推薦名是CK1_DrMinW。
3.1 字段類型和格式屬性推薦
理論上,用戶可以采用任何合法的數據類型和格式進行數據存儲。但為了方便共享交換,需對數據元標準規定的數據格式具有統一的理解,在字段類型和格式定義時,本文給出表3推薦的要求,對其他類型的用戶存儲要求未做規定,用戶可以自行設計。

表3 字段類型屬性推薦表[9-11]

表3 (續)
3.2 字段備注屬性推薦
在各類數據庫的字段定義中,一般都有備注屬性。但在數據庫建立時,絕大部分設計人員都未對字段的備注屬性進行填寫,使得設計階段的信息難以傳遞到實現階段,造成代碼維護困難。本文建議在備注屬性中填入字段的中文描述、對應標準項編號、值域、單位和備注等內容。
備注屬性內容的格式可表示為:
[{中文描述:××××××}][{標準項編號:××××××}] [{值域:××××××}][{單位:××××××}][{備注:××××××}]
其中:[]表示可選項內容的分界符;{}表示不同內容之間的分界符;××××××表示相應部分的具體內容,且不能是“{”、“}”、“:”;冒號(:)表示連接符,銜接備注屬性和其具體內容。
示例:“{中文描述:船型標準標識}{值域:0,是;1,否}{備注:真假二值數據}”、“{中文描述:行政區域代碼}{備注:GB/T2260}”都是符合規則的備注字段格式。
“十二五”期間,某省交通運輸廳為提高本省公路水路交通運輸運行效能,促進其公路水路交通運輸又好又快發展,提出要大力推動交通運輸信息化建設,充分利用現代信息技術手段,提升交通運輸運行管理、預警預控、應急指揮、決策支持和信息服務能力,為此在全省范圍內實施了交通信息化建設工程。在此過程中,以本文及其他相關內容為主體的幾項標準正在進行編制和意見征求。為了提高工程的標準化程度,促進共享交換,該工程中運用本文主要研究成果對原有的部分設計進行了改進,舉例分析如下。表4是用戶以前自定義的數據字典樣例,表5是運用本文規則改進后的數據字典樣例。

表4 用戶自定義的數據庫字典部分內容

表5 改進后的數據庫字典部分內容
表5是按照本文所介紹的字段命名方法及屬性定義推薦給出了表4中的中英文字段名,從給出的字段名中,用戶可以很容易分辨出是否為標準字段。例如,表5中的“行政區域”和“歸屬單位”,其字段名以DY1開頭,說明其遵從《交通信息基礎數據元第7部分:道路運輸信息基礎數據元》(JT/T 697.7—2013)的規定,屬于標準字段,其數據類型和格式都按照標準規定進行定義;“經度”、“緯度”采用《交通信息基礎數據元第10部分:交通統計信息基礎數據元》(JT/T 697.10—2013)的規定;其他字段名以DY9開頭,說明其屬于道路運輸領域,為用戶自定義的數據字段。這樣,在交換時,接收方可以分類進行處理。
另外,《交通信息基礎數據元》(JT/T 697—2013)中的數據屬性缺乏針對特定數據庫的規定,使得用戶對于標準規定難以執行。例如,標準規定“經度”的格式為an..14,在數據庫管理系統中有不同的實現方法,按照表3的規定,用戶則能夠準確地執行標準。
在對數據字段和屬性改進之后,項目數據字典文檔與《交通運輸信息系統數據字典規范》的符合度達到100%,標準符合性檢測檢測率提高了20%,與交通信息數據元標準的符合程度提高了52%。
本文提出了兩種交通運輸信息系統數據庫字段命名方法及字段屬性推薦,首次統一規范了交通運輸數據庫字段的命名規則,便于存儲、交換、共享龐大的交通運輸數據,便于數據元標準的引用,為信息的交換和共享奠定了良好的基礎。本文的主要內容已編制成為相關標準并已報批。由于行業內長期存在不統一的多種命名方法,本文的研究成果存在不能及時生效的問題,所以下一步將通過標準的宣貫培訓,加大宣傳力度,使標準能夠真正發揮作用,促進交通運輸信息系統數據庫構建的合理發展。
[1]中華人民共和國交通運輸部.JT/T 697—2013交通信息基礎數據元[S].北京:人民交通出版社,2007.
[2]劉麗,岳建偉,戴家文.省級國土資源數據中心數據庫命名規則研究[J].地理信息世界,2010(3):2-5.
[3]張永波,梁國玲,張禮中,等.中國地下水資源空間數據庫標準化研究[J].地球學報,2003,24(4):1-4.
[4]王霞,徐勇勇,劉丹紅.我國衛生信息編碼標準化可利用的標準代碼體系[J].中國衛生質量管理,2005,12(6):1-5.
[5]中華人民共和國交通運輸部.JT/T 748—2009公路水路交通信息資源業務分類[S].北京:人民交通出版社,2009.
[6]施曉林.數據庫設計中的重復字段和冗余字段[J].軟件技術研究,2006(11):1-2.
[7]皮爾素.牛津英語詞典[M].上海:上海外語教育出版社,2001.
[8]羅承麗.JCR收錄的英文刊名常用詞縮寫分析[J].編輯學報,2006,18(2):1-3.
[9]明日科技.Oracle從入門到精通[M].北京:清華大學出版社,2012.
[10]賀特克.SQL Server2008從入門到精通[M].北京:清華大學出版社,2011.
[11]辛運幃.Java語言程序設計[M].北京:人民郵電出版社,2009.
Specification for Field Naming and Attribute Definition of Database for Traffic&Transportation Information System
WANG Yu-yuan1,ZHAO Huai-xin2,ZHANG Shao-yang1,SONG Wen-li3
(1.School of Information Engineering,Chang′an University,Xi′an 710064,China; 2.Comprehensive Planning Office of Shaanxi Provincal Transport Department,Xi′an 710021,China; 3.Xingwang Communication Technology Co.,Ltd.,Xi′an 710075,China)
In order to promote the quality of data sharing and exchanging in traffic&transportation industry,and to enhance the comprehensibility of information and maintainability of information system, the method which unified field naming and attribute definition of database was developed,combining with the current situation of traffic&transportation informatization.In field naming,considering the service attribute,standardization and comprehensibility of field name,the field naming rule was introduced, which consisted of the identifier of basic service field,the category identifier of quoted standard and the abbreviation of field name.The field name was abbreviated from Chinese name or English name.In attribute definition,some attributes such as the type,format and memo etc.of filed in 5 common database management systems were recommended,according to the definition method of data attribute in"Basic Data Element of Transportation Information".The application in projects of traffic&transportation informatization indicated that it not only ensures mutual recognition in data sharing and exchanging,but also increases the accuracy of standard conformance test by using the developed method.
traffic&transportation industry;field naming;field attribute;data sharing and ex?change;name abbreviation
U-9
B
2095-9931(2015)03-0089-08
10.16503/j.cnki.2095-9931.2015.03.016
2015-03-13
交通運輸科技項目(2012364223500)
王昱元(1990—),女,新疆烏魯木齊人,碩士研究生,研究方向為交通信息工程。
E-mail:844719819@qq.com。