知识库✳

教程与手册

全部教程
  1. 01Oracle 函数手册
  2. 02性能优化手册
  3. 03Linux Shell
  4. 04Oracle 学习与演练
  5. 05网络基础学习
  6. 06数据治理与管理
返回个人网站
数DAMA 数据管理教程从知识体系到落地实践
首页课程目录搜索
知识库

已完成 0 / 17 章

模块一 · 基础与框架

  • 01数据管理:把数据当作资产
  • 02数据处理伦理

模块二 · 治理与架构

  • 03数据治理
  • 04数据架构

模块三 · 建模与存储

  • 05数据建模和设计
  • 06数据存储和操作

模块四 · 安全与集成

  • 07数据安全
  • 08数据集成和互操作

模块五 · 内容与主数据

  • 09文件和内容管理
  • 10参考数据和主数据

模块六 · 分析与质量

  • 11数据仓库和商务智能
  • 12元数据管理
  • 13数据质量

模块七 · 前沿与组织

  • 14大数据和数据科学
  • 15数据管理成熟度评估
  • 16数据管理组织与角色期望
  • 17数据管理与组织变革
❖

DAMA 数据管理教程

返回个人网站知识库

内容框架参考《DAMA 数据管理知识体系指南(原书第 2 版)》,正文为教学改写; 建议对照原书与所在组织的实际场景学习。

以 Next.js 16 · Tailwind CSS v4 · HeroUI v3 装帧

05
  1. 首页
  2. 课程目录
  3. 数据建模和设计

第 5 章◆进阶◆建议 55 分钟◆模块三 · 建模与存储

数据建模和设计

从概念、逻辑到物理三层模型,掌握实体、关系、属性、键与域,并让模型成为业务与开发之间可评审、可维护的契约。

学完这一章,你应该能

  • 说清数据模型的三种抽象层级和六种常见建模方法
  • 正确使用实体、关系、基数、属性、键和域表达业务规则
  • 按正向工程步骤从概念模型推进到物理模型
  • 用逆向工程理解遗留系统,并组织一次有效的模型评审
  • 建立模型标准、版本控制与质量度量

5.1模型首先是沟通工具

数据建模是发现、分析和确定数据需求的过程,并用一种精确的形式把需求表达出来。它的直接成果往往不是数据库,而是对组织数据的共同理解。模型提供通用词汇、记录系统细节、充当项目沟通工具,也是应用定制、整合与替换的起点。

  • 三项价值:格式化(简洁定义结构与规则)、范围定义(划清上下文边界)、知识保留(把理解写成可复用的记录)
  • 模型是元数据的重要形式;建模中发现的定义、关系和血缘,是治理与数仓的基础
  • 建模不是一次画完,而是与业务专家反复确认、修改的迭代过程
  • 好的模型降低支持成本,提高未来需求复用与新建应用的效率

提示如果一张模型图只有建模师看得懂,它就没有完成使命。模型的价值在于让业务、分析师、开发对同一件事达成一致。

5.2三层抽象与六种建模方法

同一个业务,可以用不同模式表达,也可以在不同详细程度上表达。常见六种模式是关系、维度、面向对象、基于事实、基于时间和 NoSQL;每种模式又分概念、逻辑、物理三层。选哪种,取决于用途、目标数据库和团队习惯。

六种常见建模方法
方法核心组织方式典型用途
关系建模实体、关系、规范化,消除冗余操作型系统(OLTP)、企业逻辑模型
维度建模事实表 + 维度,逆规范化数据仓库、BI 分析
面向对象建模类、对象、继承、封装面向对象应用与复杂领域模型
基于事实建模对象—角色—事实,先事实后实体语义精确的领域建模、契约式设计
基于时间建模中心、卫星、链接,保留历史数据仓库中的时间维度与历史追踪
NoSQL 建模文档、列族、图、键值大规模、半结构化、高并发场景

概念模型与逻辑模型可以跨数据库技术复用;物理模型则高度依赖具体 DBMS。

三层模型的差别
层级回答什么典型内容
概念模型业务中有哪些重要事物及关系?主题域、核心概念、高层关系,面向业务沟通
逻辑模型业务规则如何精确表达?实体、属性、主外键、基数、域、规范化
物理模型在特定数据库中如何实现?表、列、类型、索引、分区、约束、存储参数

5.3四个基本构件:实体、关系、属性、域

实体是组织收集信息的载体;关系描述实体之间的业务规则;属性定义、描述或度量实体;域规定属性允许的取值范围。模型的精确性,主要来自这四者的严格定义,而不是图形的美观。

  • 实体定义要清晰、准确、完整;避免缩写和「有时」「正常」这类歧义表述
  • 基数用 0、1、多组合表达「是否必须」和「参与数量」,是业务规则的直接体现
  • 关系元数分为一元(递归)、二元、三元;层级与网络结构都用一元关系表达
  • 属性在逻辑层必须原子化:一个属性只承载一个事实,不能再次拆分
  • 域可以用数据类型、格式、列表、范围或规则约束来定义
键的类型与用途
类型含义注意点
候选键能唯一标识实例的最小属性集一个实体可有多个候选键
主键被选为唯一标识的候选键通常选代理键,业务键作备用键
备用键未被选为主键的候选键常用于业务查询与外部对照
代理键系统生成的、无业务含义的整数对用户不可见,便于集成与稳定引用
组合键 / 复合键多个属性共同唯一标识;复合键再包含其他键注意顺序与最小性

独立实体的主键只含自身属性;非独立实体的主键至少包含一个来自父实体的属性,对应标识关系。

提示多对多关系不要硬画成两条一对多。引入关联实体,把关系本身当成一个可以带属性(如生效日期、状态)的对象。

5.4正向工程:从需求走到物理表

正向工程从需求开始构建新应用:概念模型理解范围与术语,逻辑模型细化业务规则,物理模型适配具体数据库。每一步都需要业务确认,而不是建模师闭门造车。

  • 概念模型不要过早迁就其他部门的术语;先如实 capturing 用户观点,再合并企业术语
  • 逻辑模型交付物包括图表、定义、争议与未决问题、血缘(来源/目标映射)
  • 物理模型要明确哪些逻辑抽象被吸收、哪些被分区,以及逆规范化的理由
  • 模型评审要覆盖启动模型、变更内容、被否方案以及是否符合标准
  1. 01规划:评估组织需求、确定建模标准、约定模型存储与协作方式
  2. 02概念建模:选模式与表示法,收集核心名词与动词,合并企业术语,取得业务签署
  3. 03逻辑建模:分析信息需求与现有文档,添加关联实体、属性、域与键,规范化
  4. 04物理建模:处理超类型/子类型、类型与约束、参考数据、代理键、索引、分区与视图
  5. 05评审:业务与技术共同检查正确性、完整性、一致性和可实施性
  6. 06维护:版本控制、变更记录、影响分析,并持续与架构和标准对齐

5.5逆向工程、治理与度量

逆向工程用于理解现有数据库:先物理、再逻辑、最后概念。它常是遗留系统改造、数据集成和主数据项目的第一步。模型治理则通过标准、评审、版本控制和度量,保证模型长期可用,而不是一次性交付后腐烂。

  • 每次模型变更记录四件事:为什么改、改了什么、何时批准、谁改的
  • 模型质量可用记分卡评估:正确性、完整性、一致性、可读性、可实施性
  • 度量可关注:评审一次通过率、模型复用率、因模型缺陷导致的返工、交付周期
  • 模型是活资产:需求变化、架构演进、系统退役都应触发更新
建模标准应包含的内容
类别内容
交付物标准模型清单、图表、定义、问题清单、血缘
命名对象命名格式、可接受缩写、禁用词
方法建模步骤、工具使用、评审流程
元数据需捕获的业务与技术元数据、质量要求
变更版本控制、变更记录、影响分析

评审小组应包含业务、架构、开发、DBA 等不同背景成员;未通过时建模师需逐项解决或升级给系统所有者。

提示逆向工程最容易犯的错,是把现有系统的坏设计当成标准。先还原「现在是什么」,再单独讨论「应该是什么」。

练习

4 题 · 先自己写,再展开对照

提示从沟通对象、业务规则、技术实现三个层面想。

参考答案

概念模型:给业务与管理层看,确认范围、核心概念与关系,解决「我们说的是不是同一件事」。
逻辑模型:给分析师、架构师、开发看,精确表达实体、属性、键、基数和业务规则,解决「规则是什么」。
物理模型:给 DBA 与开发看,落到表、列、类型、索引、分区,解决「在这个数据库里怎么实现」。

直接跳到物理模型的问题:
- 业务含义没有被确认,命名和口径容易各自为政;
- 业务规则散落在建表语句里,难以评审和复用;
- 换数据库或集成时缺少可映射的中间层;
- 概念与逻辑层的血缘断掉,影响分析和治理。

三层模型之间的纵向映射本身就是重要资产。

自评要点

  • 三层模型的受众与目的清晰
  • 指出跳过逻辑层的风险
  • 提到映射与复用

提示多对多要引入关联实体;非独立实体的主键来自父实体。

参考答案

引入关联实体「选课(Registration)」,它连接学生与课程,并承载成绩、学期、状态等属性。
学生与选课、课程与选课各是一对多关系。

主键思路:
- 若一条选课记录由「学生 + 课程 + 学期」唯一确定,可用这三者作为组合主键;
- 也可引入代理键(如选课 ID)作为主键,并在学生、课程、学期上建立备用键/唯一约束;
- 学生、课程是独立实体;选课是非独立实体,因为其主键包含来自父实体的属性。

在维度建模中,这个关联实体通常演化为事实表,成绩是度量,学生、课程、学期是维度。

自评要点

  • 引入关联实体并说明属性归属
  • 区分独立与非独立实体
  • 主键方案合理且提到代理键/备用键

提示一个属性只承载一个事实;不同用途的电话需要区分。

参考答案

问题:
- 违反原子性:一个字段可能塞入多个号码,或把类型、区号、分机混在一起;
- 无法区分家庭、工作、手机、传真等用途;
- 无法约束格式与有效值,质量规则难以落地;
- 查询「所有手机号」或「按区号统计」非常困难。

改进:
- 拆分为电话类型、国家代码、区号、号码、分机等属性;
- 为电话类型定义域(列表),为号码定义格式与长度约束;
- 若一个客户可有多个电话,建立独立的「客户电话」实体,形成一对多关系;
- 明确主号码与备用号码的业务规则(如唯一性、有效性)。

自评要点

  • 指出原子性与域缺失
  • 改进包含拆分与独立实体
  • 补充约束与业务规则

提示先物理、再逻辑、最后概念;区分现状与目标。

参考答案

步骤:
1)物理逆向:用工具从数据库导出表、列、索引、约束、外键,形成物理模型;
2)逻辑还原:整理实体、关系、基数、键与域,识别重复、缺失约束和异常命名;
3)概念提炼:按主题域归纳核心概念,与业务专家确认术语和范围;
4)补文档:记录未决问题、数据质量问题与业务规则缺口。

产出:物理/逻辑/概念模型、数据字典、血缘与来源映射、问题清单、现状与目标差距。

避免把坏设计当标准:
- 明确区分「现状模型」与「目标模型」;
- 用企业数据标准和架构评审校验,而不是照单全收;
- 对历史遗留的冗余、无主键、命名混乱标注为技术债,给出改造优先级。

自评要点

  • 逆向顺序正确
  • 产出包含模型、字典、问题清单
  • 明确区分现状与目标

本章对应《DAMA 数据管理知识体系指南(原书第 2 版)》第 5 章。正文为教学改写,建议对照原书与所在组织的实际场景阅读。

← 上一章

数据架构

下一章 →

数据存储和操作