一、引言
数据建模是数据管理的重要组成部分。常见的6种数据建模方法是关系建模、维度建模、面向对象建模、基于事实建模、基于时间建模和非关系型建模。
每种又可以分为3层模型:概念模型(CDM)、逻辑模型(LDM)和物理模型(PDM)。
每种模型都包含一系列组件,如实体、关系、事实、键和属性。
1.1业务驱动因素
数据模型对于数据管理很重要。
1.2目标和原则
数据建模的目标是明确各类数据需求,使程序和业务需求更好的结合,建立完成数据应用的基础。良好的数据建模会降低支持成本。
1.3基本概念
1.3.1数据建模和数据模型
- 数据建模的直接结果不是在数据库,而是对组织数据的理解。
- 模型是现实中事物的一种表征或者想要创造事物的一种模式。
- 数据模型描述了已经理解或者未来需要的数据。
- 模型是一种文档形式,用于记录数据需求和建模过程产生的数据定义。
- 数据模型是用来将数据需求从业务传递到IT,以及在IT内部从分析师、建模师和架构师到数据库设计人员和开发人员的主要媒介。
1.3.2建模的数据的类型
- 类别信息
- 资源信息
- 业务事件信息
- 详细交易信息
1.3.3数据模型组件
- 实体
实体可以是一些基本问题的答案,who,what,when,where,why,how,measurement
1)实体别名
实体实例时特定实体的具体化或取值。实体别名会根据模型类型(Scheme)而变化。
2)实体的图形表示
在数据模型中,通常采用矩形(或带有圆边的矩形)代表实体,矩形的中间是实体的名称。
3)实体的定义
高质量的定义具有清晰、准确、完整三个特征。 - 关系
关系时实体间的关联。
1)关系的别名
在不同的数据库技术中不同,如维度模型中的导航路径,nosql中的边界、链接等
2)关系的图形表示
关系在数据建模图上通常显示为线条。
3)关系的基数
在两个实体之间的关系中,基数(Cardinality)说明了一个实体(实体实例)和其他实体参与建立关系的数量。基数由出现在关系线两端的符号表示。
4)关系的元数
关系中涉及实体的数目被称为关系的元数
- 一元关系(递归关系、自我引用关系)
- 二元关系
- 三元关系
5)外键
- 属性
属性是一种定义、描述或度量实体某方面的性质。
1)属性的图形表示
在数据模型中,属性通常在实体矩形内的列表中描述。
2)标识符
标识符也称为键,是唯一标识实体实例的一个或多个属性的集合。
- 键的结构类型:单一键、组合键、复合键、代理键、候选键、主键、备用键
- 标识关系与非标识关系
- 域
域代表某一属性可被赋予的全部可能取值
域的不同定义方式:
- 数据类型
- 数据格式
- 列表
- 范围
- 基于规则
1.3.4数据建模的方法
常见的6种数据建模方法是关系建模、维度建模、面向对象建模、基于事实建模、基于时间建模和非关系型建模。
- 关系建模
关系模型设计的目的是精确地表达业务数据消除冗余。 - 维度建模
维度数据模型专注于特定业务流程的业务问题
- 事实表: 特定的数值型度量值
- 维度表:表示业务的重要对象,维度通常是高度反范式
- 雪花模型:雪花模型的含义是将星型模式中的平面、单表、维度结构规范为相应的组件层次结构或网络结构
- 粒度:事实表中的单行数据的含义或者描述
- 一致性维度:由于具有一致的术语和值,这些维度在不同的维度模型中可以共享
- 一致性事实:一致性事实使用跨多个数据集市的标准化术语
- 统一建模语言
统一建模语言(UML)是一种图形风格的建模语言。 - 基于事实的建模(FBM)
是一种概念建模语言
- 对象角色建模
- 完全面向通信的建模
- 基于时间的数据模型
- Data Vault:一种综合建模方式,包含中心表、链接表和卫星表三种实体
- 锚定建模:
- 非关系型数据库
- 文档数据库
- 键值数据库
- 列数据库
- 图数据库
1.3.5 数据模型级别
- 概念数据模型:用一系列相关主题域的集合来描述概要数据需求。
- 逻辑数据模型:对数据需求的详细描述
- 物理数据模型
- 规范模型:规范模型(Canonical Model)是物理模型的一个变种,用于描述系统之间的数据移动
- 视图:视图是虚拟表
- 分区
- 逆范式化:逆规范化是将符合范式规则的逻辑数据模型转换成一些带冗余数据的物理表
- 范式化:运用规则将复杂的业务转化为规范的数据结构的过程
- 第一范式
- 第二范式
- 第三范式
- BCNF范式
- 第四范式
- 第五范式
模型的规范化通常要求达到第三范式水平即可
- 抽象化
二、活动
2.1规划数据建模
数据建模工作计划主要包括评估组织需求、确定建模标准、明确数据模型存储管理等任务。
数据建模工作交付成果包括以下4个方面内容:图表、定义、争议问题、血缘关系。
2.2建立数据建模
数据建模是一个不断迭代的过程。
2.2.1正向工程
- 概念数据模型建立
步骤:
- 选择模型类型
- 选择表示方法
- 完成初始概念模型
- 合并企业术语
- 获取签署
- 逻辑数据模型建模
- 分析信息需求
- 分析现有文档
- 添加关联实体
- 添加属性
- 分配域
- 分配键
- 物理数据建模
- 解决逻辑抽象
- 添加属性细节
- 添加引用数据对象
- 指定代理键
- 逆规范化
- 建立索引
- 分区
- 创建视图
- 逆向工程
2.3审核数据建模
2.4维护数据建模
三、工具
3.1数据建模工具
3.2数据血缘工具
3.3数据分析工具
3.4元数据资料库
3.5数据模型模式
3.6行业数据模型
四、方法
4.1命名惯例中的最佳实践
- 数据建模和数据库设计标准是满足业务数据需求的指导原则,它们符合企业架构和数据架构的要求
- 对每种类型建模对象和数据库对象发布数据模型和数据库命名标准
- 逻辑名称对业务用户应具有意义
- 命名标准应该尽量减少跨环境的名称变化
4.2数据库设计中的最佳实践
- 性能和易用性
- 可重用性
- 完整性
- 安全性
- 可维护性
五、数据建模和设计治理
5.1数据建模和设计质量管理
- 开发数据建模和设计标准
- 评审数据模型以及数据库设计质量
- 管理数据模型版本与集成
5.2度量指标
- 模型反映业务需求的程度
- 完整性
- 模型与模式的匹配度
- 结构
- 通用性
- 命名标准
- 可读性
- 定义是否清晰准确
- 与企业数据架构的一致性
- 与元数据的匹配程度