第五章 数据建模和设计
一、引言
- 定义:数据建模是发现、分析和确定数据需求的过程,然后采用数据模型的精确形式表示和传递这些数据需求。这个过程是循环迭代的,可能包括概念、逻辑和物理模型
- 目标:确认并记录不同视角对数据需求的理解,确保应用程序更符合当前和未来的业务需求,为更多数据应用或数据管理奠定一个良好的基础。
1.1 业务驱动因素
数据模型对有效数据管理直观重要
- 提供有关数据的通用词汇表
- 获取、记录组织内数据和系统的详细信息
- 在项目中作为主要交流沟通工具
- 提供了应用定制、整合,身体替换的起点。
1.2 目标和原则
目标:确认和记录不同视角对数据需求的理解,从而使应用程序与当前和未来的业务需求更加紧密地结合在一起,并为成功地完成广泛的数据应用和管理活动奠定基础。
确认和记录不同视角有助于:
- 格式化:格式化定义赋予数据规范的结构,减少在访问和保存数据时发生异常的概率
- 范围定义:数据模型可帮助解释数据上下文边界,以及购买的应用程序报、项目、方案或实施的现有系统。
- 知识保留记录:数据模型通过以书面形式获取知识来保存系统或项目的企业信息,它能给未来项目提供原始记录。
1.3 基本概念
1.3.1 建模的数据类型
- 类别信息:用于对事物进行分类和分配事物类型的数据
- 资源信息:实施操作流程所需资源的基本数据
- 业务时间信息:在操作过程中创建的数据
- 详细交易信息:详细的交易信息通过销售系统生成
1.3.2 数据模型组件(实体、关系、属性、域)
(1)实体
实体是一个组织收集信息的载体,一个实体可被认为是一些基本问题的答案(谁、什么、何时、何地、为什么、怎么办或这些问题的综合);实体通常采用矩形表示;实体的定义属于核心元数据,描述的业务价值有巨大贡献,高质量数据定义具备以下三个基本特征:
- 清洗:定义应该易于阅读和理解,采用简单清晰的语言表述,没有晦涩的首字母缩写词或难于理解的歧义术语表达
- 准确:定义是对实体的准确和正确的描述,应由相关业务领域专家进行审查,以确保其准确性
- 完整:定义要尽量全面,所包括的内容都要体现
(2)关系
关系在数据建模图上通常显示为线条,线条上的符号(称为基数)精确的语法说明了规则,关系通过关系数据库中的外键来表示,在非关系型数据库中通过边界或链接来表示。
关系的基数 | 两个实体之间的关系中,基数说明了一个实体和其他实体参与建立关系的数量,只能选择0、1或多 |
关系的元数 | 关系中涉及实体的数目成为关系的元数,最常见的为一元关系、二元关系、三元关系
|
(3)属性
属性时一种定义、描述或度量实体某方面的性质,实体中属性的物理展现为表、视图、文档、图形或文件中的列、字段、标记或节点等。在数据模型中,属性通常在实体矩形内的列表中描述。
标识符也称为键,是唯一标识实体实例的一个或多个属性的集合,根据键的结构和功能进行分类。通常,主键是代理键,而备用键是业务键。
结构 | 单一键 | 唯一标识实体实例的一个属性 |
---|---|---|
代理键 | 也是一种单一键,代理键为表的唯一标识符,通常是一个计数符,由系统自动生成,不应对数据库的最终用户可见。它们保存在后台,以帮助保持唯一性,允许在结构间进行更高效的导航,并促进跨应用程序的集成。 | |
组合键 | 一组由两个或多个属性组成的集合,这些属性一起唯一标识一个实体实例 | |
复合键 | 包含一个组合键和至少一个其他单一键、组合键或非键属性 | |
功能 | 候选键 | 超键是唯一标识实体实例的任何属性集,候选键是标识实体实例的最小属性集合,可能包含一个或多个属性。候选键也可以是业务键,业务键是业务专业人员用于检索单个实体实例的一个或多个属性 |
主键 | 被选择为实体唯一标识符的候选键 | |
备用键 | 为一个候选键,可用于查找特定实体实例 |
(4)域
在数据建模中,域代表某一属性可被赋予的全部可能取值,域提供了一种将属性特征标准化的方法,域可以用不同的方式定义:
- 数据类型:域中的某一属性中的数据有特定的标准类型要求,eg:整数、日期
- 数据格式:使用包括模板和掩码等格式的域,eg:电话号码、邮政编码
- 列表:含有有限个值的域,eg:订单状态
- 范围:允许相同数据类型的所有值在一个或多个最小值/最大值之间的域
- 基于规则:域内的值必须符合一定的规则才能够成为有效值
1.3.3 数据建模的方法
(1)关系建模
关系模型设计的目的是精确地表达业务