引:数据模型除了要有良好的设计,其组成元素的命名同样要遵循严格的规范
行业领域的应用软件其核心价值往往首先体现在行业数据模型的设计之上,数据模型的准确描述首先要保证每个数据元素命名的规范和准确,对词根的规范和整理成为基础工作。词根与行业领域紧密相关,源于行业中的术语,同时必须符合一定的约束规则,并且表达准确的含义,保证词根易于理解、易于应用。数据库的设计中,字段名、表名以及其他相关元素的名称都需要以词根为基础,结合业务内容,按一定的规则进行命名。
数据模型的建立、字段的设计以基于表单的理论依据进行设计和描述,数据表通过横向、纵向的表单类型划分为事实表、约束表、维度表和代码表,结合表单文档和数据库说明清晰准确地对数据模型的含义和思想进行有效的表达,以达到设计思路的体现和传承,保证数据结构的扩展性和适应性,为行业应用的建立打下坚实的基础。
寿险应用命名规范
数据模型除了要有良好的设计,其组成元素的命名同样要遵循严格的规范。正如前文对词根的说明,通过一定的约定规则建立的词根,能够清晰准确地反映出领域中的信息。数据库中的表名、字段名等信息的命名规则同样是为了保证数据模型表述的信、雅、达,所描述的业务概念的准确和清晰。
首先,数据库中各数据元素的命名必须源于词根,必须遵循词根的约束规则。其次,数据库中各元素需要在词根的基础上进行扩展和重新组合。词根作为一套行业标准是面向具体的行业领域的,而命名规范在面向行业领域的同时,还要面向应用系统,服务于具体的业务系统,反映与系统相关的信息代码、业务类别、数据类型等,在某些方面还需要与软件代码的命名规范相结合,带有明显的技术特征,这也是词根与命名规范的主要区别。
以寿险核心业务系统的数据库表的命名规则为例,数据库表分为两大部分,一部分是寿险业务的应用表,另一部分是数值表或数据表。
应用表反映数据模型的主体,这些表采用“领域类别+业务类别+业务内容词根+应用类别”的命名规范,其中应用类别是可选的。寿险数据模型的领域代码为“L”,表示寿险领域(Life Insurance)。业务类别中,对于保单明细信息和承保业务,以字母“C”为标志,本文列举的事实表就是承保业务表的示例。此外,对于保全业务,以字母“P”为标志,对于产品描述相关的数据模型,以及业务规则定义的约束表,字母“M”为标志,等等。业务内容词根表示了数据表的具体业务内容或对象。
部分数据库表附加应用类别,表示数据库表的用途,例如用于描述定义的表,需要以Def为后缀。以险种定义表LMInsuProductDef为例,L表示寿险业务应用表,M表示产品描述体系中的表,InsuProduct来源于“保险产品”词根的缩写形式,Def表名这是一个用于定义的表。
数值表或数据表包括费率表、现金价值表等,包含着险种精算要素等与计算相关的纯数据信息,含义明确且单一,因此这类表均以所代表的数据内容的词根缩写为起始,如费率表以rate的缩写RT起始,现金价值表以cash value的缩写CV为起始。之后加上险种的代码和数据表的版本号,作为命名规则。由于险种代码可能是数字代码,也可能是字母代码,为了区分方便,数值表的命名规范中使用下划线“_”作为分隔符。例如险种628的费率表为RT_628_1,险种WHI的现金价值表为CV_WHI_1。
寿险数据模型设计
基于业务表单进行数据模型的分析和设计是重要的数据库设计思想,其核心是从横向和纵向两个角度对数据对象和数据项进行划分和设计。其中横向分析面向领域的通用性和一般性,形成数据结构中的维度表(通用关系型库结构类)和代码表(代码/单元素库结构类),是对领域的概括和抽象; 纵向分析则针对具体的业务内容,形成事实表(记录事实型库结构类)和约束表(约束型库结构类),反映了领域中的具体和依赖。 |