是什么?
数据建模是发现、分析和确定数据需求的过程,用一种称为数据模型的精确形式表示和传递这些数据需求。数据建模是数据管理的一个重要组成部分。建模过程中要求组织发现并记录数据组合的方式。
数据可以采用多种不同的模式来表示,其中最常见的6种模式分别是:关系模式、多维模式、面向模式、事实模式、时间序列模式和NOSQL模式。按照描述详细程度的不同,每种模式又可以分为3层模型:概念模型、逻辑模型和物理模型。每一种模型都包含一系列组件,如实体、关系、事实、键和属性。一旦建立了模型,就需要对其进行质量审查;一旦得到批准,后续就需要对其进行维护。
数据模型包含数据使用者所必需的元数据。在数据建模过程中发现的大部分元数据对于其他数据管理功能是必不可少的。
为什么?
业务驱动因素
- 提供有关数据的通用词汇表;
- 获取、记录组织内数据和系统的详细信息;
- 在项目中作为主要的交流沟通工具;
- 提供了应用定制、整合,甚至替换的起点;
目标和原则
数据建模的目标是确认和记录不同视角对数据需求的理解,从而使应用程序与当前和未来的业务需求更加紧密的结合在一起,并为成功地完成广泛的数据应用和管理活动奠定基础。数据模型是元数据的一种重要形式。
确认和记录不同视角的理解有助于:
- 格式化。数据模型是对数据结构和数据关系的简洁定义,能够评估当前或者理想情况下业务规则对数据的影响情况。格式化的定义赋予数据规范的结构,减少在访问和保存数据时发生异常的概率,通过展现数据中的结构和关系,数据模型使数据更容易被使用。
- 范围定义。数据模型可以帮助解释数据上下文的边界,以及购买的应用程序包、项目、方案或实施的现有系统;
- 知识保留记录,数据模型通过以书面的形式获取知识来保存系统或项目的企业信息,它能给未来项目提供原始记录,数据模型有助于更好地理解一个组织、一个业务方向、一个已存在的应用,也有助于理解修改现有数据结构所带来的影响。
基本概念
数据建模和数据模型
数据建模最常用在系统开发与系统维护的工作环境中,也称为系统开发生命周期(SDLC)。数据建模可以用于更广泛的领域,其直接的结果不是在数据库,而是对组织数据的理解。
模型是现实中事物的一种表征或者想要创造事物的一种模式。一个模型可以包含一个或多个图表。模型图可以使人们通过标准化的符号快速领会其内容。地图、组织架构图和建筑蓝图都是日常模型的例子。
数据模型描述了组织已经理解或者未来需要的数据,数据模型包括一组带有文本标签的复活,这些符号视图以可视化方式展示数据需求并将其传递给数据建模人员,以获得一组特别的数据。这些数据大小不一,小到仅可以用于一个项目,大到可以用于整个组织。模型是一种文档形式,用于记录数据需求和建模过程产生的数据定义。数据模型是用来将数据需求从业务传递到IT,以及在IT内部从分析师、建模师和架构师到数据库设计人员和开发人员的主要媒介。
建模的数据类型
在任何既定组织中适合建模的数据类型反映了组织或项目需要数据模型的优先级,可以对下列四种类型的数据进行建模;
类别信息
用于对事物进行分类和分配事物类型的数据。例如,按市场类别或业务部门分类的客户,按颜色、型号、大小等分类的产品。
资源信息
实施操作流程所需资源的基本数据,例如:产品、客户、供应商、设施、组织和账户等。在IT专业人员定义中,资源实体有时被称为参考数据;
业务事件数据
在操作过程中创建的数据,例如客户订单,供应商发票,现金提取和业务会议等,在IT专业人员定义中,事件实体有时被称为交易性业务数据;
详细交易信息
详细的交易信息通常通过销售系统(商店或在线应用)生成,它还可以通过社交媒体系统,其他互联网交互和机器上的传感器产生,这些传感器可以是船只和车辆的部件、工业组件或个人设备,这种类型的详细信息可以被聚合,用于派生其他数据,并用于以分析趋势,类似于业务事件信息的使用方式,这种类型的数据通常成为大数据。
这四类都数据“静态数据”。部分“动态数据”也可以建模。例如,系统的方案,包括用于消息传递和基于事件的系统的协议和方案等。
数据模型组件
大多数数据模型都包含基本相同的组件:实体、关系、属性和域;
数据建模的方法
常见的6种数据建模方法是关系建模、维度建模、面向对象建模、基于事实建模、基于时间建模和非关系型建模。
建模方法 | 表示法 |
关系 | 信息工程 信息建模集成定义 巴克符号 陈氏符号 |
维度 | 维度 |
面向对象 | 统一建模语言(UML) |
基于事实 | 对象角色建模 完全面向交流的信息建模 |
基于时间 | 数据拱顶模型 锚建模 |
非关系型 | 文档 列 图 键值 |
在关系建模方法中,三层模型仅适用于关系型数据库,而概念模型和逻辑模型可适用于其他数据库。