3.1 主数据建模概述
主数据建模就是用元数据描述业务实体的过程,从业务视角说,就是给出一个描述主数据的二维表表头的过程。比如,人员主数据概要内容(示例)如表3-1所示。
表3-1
表3-1中是一个主数据模型核心的内容。技术架构师在与企业业务部门确认结果后,还会把这种业务逻辑模型转变为技术模型。主数据模型最终也将成为企业数据标准的一个组成部分,也将纳入数据标准管理体系管理的范畴。
我们在主数据建模的过程中遵循以下原则。
1.充分参考用户业务系统模型
和每个应用系统的模型设计相似,主数据模型设计应当以用户的业务模型为基础和重要参考。熟悉用户业务现有基础数据模型是主数据模型设计的基础和基本保障。
2.满足应用系统的需求
主数据模型必须能被各个应用系统使用。因为主数据管理系统是所有应用系统基础数据的源头,所以,如果我们的主数据模型不能被各应用系统使用,则代表主数据模型设计失败了。即便是应用系统基础数据模型设计与常规设计不相符,也可以在主数据模型设计上稍做调整,以满足当前应用系统的需求。
3.模型设计的颗粒度宁细勿粗
细颗粒度的模型可以更好地满足每个应用系统的需求。比如,很多系统不能很好地区分用户和人员模型,对组织模型数据也不敏感。而主数据模型在设计时通常会明确区分用户和人员模型,如果企业内存在多个组织,则按业务分成多个组织模型,只需要建立模型间的对应关系和保持后续数据的联动。
4.与主数据关联的参照数据或其他主数据,也需要纳入主数据设计范畴
被主数据引用的要么是参照数据要么是其他主数据,按照这种主外键关联起来的数据最终会形成一个串或一张网。如果按照业务重要性进行排序,那么每个重要的业务主数据后面都会关联多个参照数据或其他主数据。同时几个比较重要的主数据也会互相引用和关联。我们在进行主数据模型设计时,需要对其引用的参照数据进行设计,以及对属性中的枚举数据进行定义。
主数据建模是主数据管理的第一步,很多数据在进行主数据成熟度评估时,主数据模型是否相对稳定是其一个重要的评估要素。如果通过调研发现,这个主数据的模型在业务角度的定义是模糊的或不一致的,那么这个主数据的成熟度就比较低,需要从第一步做起。
以上仅是主数据建模的一些原则,主数据建模工作的实际产出物需要包含以下内容。
(1)当前主数据的明确定义。
我们通过主数据的定义来了解这个数据模型描述的是现实中的哪些客观存在。主数据通常描述的是“物”,业务数据通常描述的是“事”,所以主数据的定义让我们知道了要描述的“物”是什么,以及范围有多大。
(2)主数据所需要包含的常规属性项。
即使同一个客观事物,由于其所处的环境不同,所关注的要素也不尽相同。我们需要找到这些属性,并明确定义这些属性。
(3)主数据中引用其他数据的属性项。
这类属性往往对应一个参照数据或其他主数据,有时也可以对应一个简单的枚举数据,数据内容可以在属性项中做直接约定。
每个主数据的这种类型的属性都代表一种对主数据的观察视角和一种分类。分类有助于我们对主数据的认知、使用和查找。
(4)主数据的编码。
主数据的编码,是用于业务理解的编码,是主数据的唯一标识符。