交通运输信息系统数据库字段命名及属性定义规范化研究
2015-09-13王昱元赵怀鑫张绍阳宋文丽长安大学信息工程学院陕西西安70064陕西省交通运输厅综合规划处陕西西安700西安兴网通信科技有限公司陕西西安70075
王昱元,赵怀鑫,张绍阳,宋文丽(.长安大学信息工程学院,陕西西安70064;.陕西省交通运输厅综合规划处,陕西西安700;.西安兴网通信科技有限公司,陕西西安70075)
交通运输信息系统数据库字段命名及属性定义规范化研究
王昱元1,赵怀鑫2,张绍阳1,宋文丽3
(1.长安大学信息工程学院,陕西西安710064;2.陕西省交通运输厅综合规划处,陕西西安710021;3.西安兴网通信科技有限公司,陕西西安710075)
为促进交通运输行业数据的共享交换,加强共享交换信息的可理解性和信息系统的可维护性,结合交通运输行业信息化发展现状,提出统一交通运输信息系统数据库字段命名方法以及属性定义。在字段命名方面,考虑字段名的业务属性、标准性及可理解性,给出了包括基本业务领域标识、引用标准类别标识和字段名缩写等部分的字段命名规则,其中字段名缩写采用中文名称拼音缩写和英文名称缩写两种方法。在属性定义方面,根据《交通信息基础数据元》(JT/T 697—2013)中的数据属性定义方法,对常见的5类数据库管理系统的字段类型、格式及备注等属性定义作了推荐。相关交通运输信息化项目应用表明,通过对字段名和属性定义的规范,保证了数据交换和共享双方的相互识别,提高了在标准符合性检测方面的准确率。
交通运输行业;字段命名方法;字段属性;数据共享交换;名称缩写
0 引言
“十二五”期间,交通运输信息化的主要目标是实现“从效率到效能、从分散到集约、从封闭到开放”的三个转变,因此共享交换在避免重复建设、落实协同机制、实现资源共享等方面具有深远的意义。从数据的交换和共享角度,规范的数据库字段名在数据交换中是保证双方相互识别的主要标识,同时,字段属性在同一数据库的统一定义也会给交换和共享带来便利。
《交通信息基础数据元》(JT/T 697—2013)[1]是交通运输行业重要的数据标准,遵守ISO/IEC 11179—1的规定,在数据元的属性中,给出了分类编号。该编号采用“字母+数字”分类序号的方式,但没有字段名属性。在字段名称设计中,使用该数据元标准的中文名称或分类编号存在很多弊端,不符合软件开发习惯,通常开发人员倾向于使用自定义的字段名,这样造成了数据字段和标准不对应的问题;在属性规定方面,《交通信息基础数据元》出于统一数据属性的目的对数据的类型、格式等属性进行了规定,但为了避免特定数据库管理系统的限制,规定的类型和格式使用通用的方法描述。然而在实际编程中参照标准进行数据库字段设计时,由于数据库系统不同、表达方式不同、编程阶段不同等,开发人员存在理解差异,造成数据字段的属性定义不统一,影响了标准的执行效果。
目前,其他一些行业已不同程度地开展了数据库字段命名及属性定义方法的研究工作。如刘丽等[2]针对国土资源数据库命名缺乏整体协调统一的问题,结合国土资源数据具有多业务、多时相、多领域、海量性等重要特征推荐了两类命名规则:以行政区为基础的命名规则和以标准图幅为基础的命名规则。这两类规则皆采用三十位数字的编码方法,使不同时间、不同业务、不同空间上的数据命名达到标准上的统一。张永波等[3]制订了《中国地下水资源空间数据库标准》,其中采用了“八位数字+字母”的图元编码方法对相关地下水资源数据进行统一规范,提高了全国地下水资源评价的效率与准确率。王霞等[4]提出了卫生信息编码标准代码体系,对卫生信息进行分类并加以编码,该信息编码标准遵循国际标准、国家标准和行业标准的原则,建立和制订了适合、满足行业需要的信息编码体系和标准。
另外,一些通用的字段命名方法在各种数据库管理系统以及编程语言中都得到了广泛的应用,如驼峰命名法、Pascal命名法、匈牙利命名法。Ora⁃cle推荐了字段名命名方法,其中规定英文单词可以采用缩写命名,单词之间用下划线连接,对于存储特殊内容的字段可以将具有特殊含义的单词加在结尾;MYSQL也推荐了字段命名规则,规定表别名加单词的方法,首字母小写,后面单词的首字母大写。
现有数据库字段命名方法及其混合方法虽然在众多数据库中可满足编程人员的要求和习惯,但由于交通运输行业的行业特点,并不能满足或符合行业内的数据共享与交换要求。而事实上当前交通运输行业数据库字段命名方法的不统一的确给数据共享和交换带来诸多不便,为此本文将参考其他行业在字段名统一方面的成果,提出对交通类数据库字段命名和数据属性定义进行统一规定,并对主流数据库中不同存储对象的字段类型、格式和备注等属性信息进行推荐,以期推动业界数据的共享与交换工作。
1 数据字段在共享交换中的作用
1.1 数据组织粒度
数据的产生可以分为以下两种情况。第一种情况:产生自客观事物信息的数据化。客观事物信息的数据化过程就是将现实世界中的信息转化为计算机中存储数据的过程。第二种情况:从其他系统交换而来的数据,属信息的互联互通,也是信息化发挥综合效益的重要途径。可见,从其他系统交换数据是信息系统数据的重要来源之一。
信息有粒度,数据也是有粒度的。从数据的产生过程可知,客观事物信息数据化时,即产生了单个的独立数据;同一类独立数据的集合,形成数据组织的最原始单位,即数据项;对多个数据的有序组织,就形成了数据集。因此,从数据组织角度,可将数据分为三个粒度:独立数据、数据项、数据集。
(1)独立数据
独立数据是指单个的、具体的客观事物的属性值。例如“张三”,该数据代表某个人的姓名。独立数据具有数量庞大、分散的特点,不易管理。归类是人类认识事物的一个基本方法。在数据管理中,一般也对数据进行归类。
(2)数据项
数据项是对客观事物某个属性标识及其内容的总称,也称为数据元素,可以理解为同一类数据的集合,数据项的定义即为该类数据的定义。例如,“姓名”代表了一个数据项,“张三”是该数据项的一个特定值,该值必须服从“姓名”数据项的定义。数据项将数据按类别进行有效组织,起到了提纲挈领的作用。数据项的定义包括类型、格式等,是计算机中对数据进行组织的最小单位。数据项的定义对独立数据形成了约束。在关系型数据库中,数据项与“字段”的定义相对应。
(3)数据集
数据集是指有限数据项及其内容的集合。在交换中,一般是以数据集的方式进行交换,数据集是交换数据的集合,可大可小。数据集的属性包括其组织方式、内容、表示方式等。
1.2 数据交换中的数据概念及其粒度
信息的价值是在交换中体现的。从前文可知,从其他系统交换数据是信息系统数据的一个重要来源。下面针对关系型数据库之间的数据交换过程进行分析。
在关系型数据库中,所有数据都存储在关系(通常所说的二维表)中。客观事物的同一特性的数据存储在二维表的一个列中,该列称为一个字段(或属性),字段的概念与数据项的概念相对应。每一行对应着一个客观事物对象,称为记录(或元组)。因此,在以关系型为主的数据存储中,数据的标准化就是对关系表的字段(即列)定义的统一规定。
在交换过程中,单个数据是最基本的交换内容。数据的组织可分为以下三个层次。
(1)第一层次:采用以“行”为主的组织方式。由于单个数据自身信息的不完整性,例如,数据库A中的字段A112中存储了人员的身高数据,需要传递到目标数据库中,但大多情况下仅传递身高数据到目标数据库中是无意义的,目标数据库不知道身高数据是谁的数据。因此,一般情况下,数据及其识别信息(数据表的主键)需要一起传递,如果将数据和其识别信息分离,在入库时将增加复杂性。因此,交换数据集的数据结构以“记录”(一组相互关联的数据)为组织更为合理,便于数据的识别。
(2)第二层次:以相互独立的交换单元容纳多组关系数据。一个表的多条记录能够构成一个内部循环的交换单元,由于各个表的结构不同,放在一起会增加数据解析的复杂性,因此,使多个单元相互独立,在一个交换数据集中就可容纳多个表的数据。
(3)第三层次:在交换数据集和交换单元中都增加描述信息,使数据集成为自描述的。这样,在一个交换数据集便可自由地、完整地表示出包含多个数据关系(表)、多个属性(字段)中任意数据(记录)的一次交换。
关系型数据库的交换数据集的数据结构如图1所示。
图1所示模型体现了交换数据组织的相关性(相关数据使用“记录”方式组织)、包容性(多个交换单元的数据共同交换)、灵活性(交换记录的数量和内容未受限定)、通用性(采用XML描述格式,适宜于异构系统之间的交换),因此,该模型同样也适用于其他的数据存储方式。
可见,数据是以“记录”为最小单元进行共享交换的,因此,从交换信息的可识别性的角度,数据字段属性的统一规定具有重要的作用。
2 交通运输数据库字段命名方法
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 交通运输数据库字段属性推荐
3.1 字段类型和格式属性推荐
理论上,用户可以采用任何合法的数据类型和格式进行数据存储。但为了方便共享交换,需对数据元标准规定的数据格式具有统一的理解,在字段类型和格式定义时,本文给出表3推荐的要求,对其他类型的用户存储要求未做规定,用户可以自行设计。
表3 字段类型属性推荐表[9-11]
表3 (续)
3.2 字段备注属性推荐
在各类数据库的字段定义中,一般都有备注属性。但在数据库建立时,绝大部分设计人员都未对字段的备注属性进行填写,使得设计阶段的信息难以传递到实现阶段,造成代码维护困难。本文建议在备注属性中填入字段的中文描述、对应标准项编号、值域、单位和备注等内容。
备注属性内容的格式可表示为:
[{中文描述:××××××}][{标准项编号:××××××}] [{值域:××××××}][{单位:××××××}][{备注:××××××}]
其中:[]表示可选项内容的分界符;{}表示不同内容之间的分界符;××××××表示相应部分的具体内容,且不能是“{”、“}”、“:”;冒号(:)表示连接符,衔接备注属性和其具体内容。
示例:“{中文描述:船型标准标识}{值域:0,是;1,否}{备注:真假二值数据}”、“{中文描述:行政区域代码}{备注:GB/T2260}”都是符合规则的备注字段格式。
4 工程应用
“十二五”期间,某省交通运输厅为提高本省公路水路交通运输运行效能,促进其公路水路交通运输又好又快发展,提出要大力推动交通运输信息化建设,充分利用现代信息技术手段,提升交通运输运行管理、预警预控、应急指挥、决策支持和信息服务能力,为此在全省范围内实施了交通信息化建设工程。在此过程中,以本文及其他相关内容为主体的几项标准正在进行编制和意见征求。为了提高工程的标准化程度,促进共享交换,该工程中运用本文主要研究成果对原有的部分设计进行了改进,举例分析如下。表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%。
5 结语
本文提出了两种交通运输信息系统数据库字段命名方法及字段属性推荐,首次统一规范了交通运输数据库字段的命名规则,便于存储、交换、共享庞大的交通运输数据,便于数据元标准的引用,为信息的交换和共享奠定了良好的基础。本文的主要内容已编制成为相关标准并已报批。由于行业内长期存在不统一的多种命名方法,本文的研究成果存在不能及时生效的问题,所以下一步将通过标准的宣贯培训,加大宣传力度,使标准能够真正发挥作用,促进交通运输信息系统数据库构建的合理发展。
[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。