今天读了一篇Teradata关于数据模型的白皮书,《The Teradata Communications Industry Logical Data Model》,把自己对数据建模的理解再次进行了梳理。虽然这之前一直在学习SID模型,也在按照SID中的规范指导实际工作,但一直没有透彻地理解建模的本质和方法,仍然停留在”可做、不可讲“的程度。
在白皮书中,对数据模型有一个简单的定义:
A data model uses symbols and text to help developers and analysts better understand a set of data elements and the corresponding business rules. In addition, every model has a defined scope.
这个定义简单明了,即数据模型是利用“符号和文本”,帮助相关人员(即开发人员和分析人员)理解数据和业务规则。结合我自己的工作体会,数据模型可以起到如下一些作用:
- 统一业务概念。由于业务概念不统一,会带来不少的额外沟通成本,而数据模型则提供了一个方法,可以让大家”统一的语言“进行交流和分析。
- 流程梳理工具。当出现了新的业务或流程时,数据模型也提供了一个很好的工具,可以让相关人员很快地与已有概念结合起来进行分析,以较低的成本将新业务合理地融入到现有流程或系统中。
- 确定系统边界。进行系统集成的时候,数据模型提供了一个很好的讨论起点,通过数据模型确定出系统的核心功能,明确出系统边界,从而制订出清晰的系统间接口。