什么是数据建模?

色彩缤纷的小型私人办公室

什么是数据建模?

数据建模是创建整个或部分信息系统的可视化表示的过程,表示数据点和结构之间的连接。

数据建模的目标在于阐释系统中使用与存储的数据类型、数据间的关联关系、数据分组与组织方式,以及数据的格式和属性特征。

数据模型围绕业务需求建立。规则与需求通过业务利益相关者的反馈进行预先定义,以便将其融入新系统的设计或现有系统的迭代优化中。

可以在各种抽象级别上对数据进行建模。该流程始于向项目利益相关者及终端用户收集业务需求信息。随后,这些业务规则将被转化为数据结构,从而形成具体的数据库设计方案。数据模型好比路线图、建筑蓝图或任何能深化设计理解的规范化图表。

数据建模采用标准化模式与规范技术。这为整个组织乃至跨组织的数据资源定义与管理,提供统一、一致且可预测的方法体系。

理想情况下,数据模型是随着业务需求变化而演变的动态文档。它们在支持业务流程以及规划 IT 架构和战略方面发挥着重要作用。数据模型可与供应商、合作伙伴及行业同仁共享。

数据模型类型

与所有设计流程相同,数据库及信息系统设计亦从高度抽象层面展开,并逐步趋于具体化与特定化。数据模型根据抽象程度的不同,通常可划分为三个类别。设计流程将从概念模型起步,经由逻辑模型过渡,最终以物理模型收尾。后续章节将详细讨论每种类型的数据模型:

概念数据模型

它们也称为领域模型,完整呈现了系统的构成要素、组织架构及关联的业务规则全景。概念模型通常是在收集初始项目要求的过程中创建的。通常,它们包括实体类(用于定义对企业很重要的事物的类型,以便在数据模型中进行表示)、它们的特征和约束、它们相互之间的关系,以及相关的安全性与数据完整性要求。表示法通常极为简明。

概念数据建模图

逻辑数据模型

此类模型的抽象程度较低,能够更详细地描述该领域的概念及其关系。它遵循几种正式数据建模标注系统之一。这些系统会表明数据属性(例如,数据类型及其相应的长度),并显示各实体之间的关系。逻辑数据模型不会指定任何技术系统要求。在敏捷开发或开发运维实践中,该阶段通常会被省略。逻辑数据模型在高度程序化的实施环境中颇具价值,也适用于本质上以数据为导向的项目,例如数据仓库设计或报表系统开发。

逻辑数据建模图

物理数据模型

它们为数据在数据库中的物理存储方式提供了架构方案。因此,它们的抽象程度最低。物理数据模型提供可直接实施为关系数据库的最终设计,包括用于说明实体间关系的关联表,以及用于维护这些关系的主键和外键。此外,物理数据模型还可包含特定于数据库管理系统 (DBMS) 的属性,包括性能优化相关设置。

物理数据建模图

数据建模流程

作为一门学科,数据建模要求利益相关者以高度精细化的方式审视数据处理与存储机制。不同的数据建模技术遵循特定规范,这些规范界定了数据表征的符号体系、模型布局的逻辑结构,以及业务需求的传达方式。所有方法均提供规范化的工作流,这些流程包含以迭代方式执行的任务序列。这些工作流通常是这样的:

  1. 标识实体。数据建模的过程始于识别要建模的数据集中所表示的事物、事件或概念。每个实体都应是内聚的,并在逻辑上独立于所有其他实体。
  2. 确定每个实体的关键属性。每个实体类型都可通过其独有的一项或多项属性(即特征值)与其他实体区分。例如,“客户”实体可能包含名字、姓氏、电话号和称谓等属性,而“地址”实体则可能涵盖街道名称与门牌号、城市、州、国家及邮政编码等特征。
  3. 确定实体之间的关系。数据模型的最初草案将明确界定每个实体与其他实体间的关系本质。在上一示例中,每位客户均“居住于”某个地址。若将该模型扩展至包含“订单”实体,则每份订单也将对应配送地址与账单地址。此类关系通常通过统一建模语言 (UML) 进行规范化表述。
  4. 将属性完全映射到实体。这将确保模型能够反映企业将如何使用数据。有几种形式的数据建模模式正在得到广泛使用。面向对象开发者通常采用分析模式或设计模式,而其他业务领域的利益相关者则可能援引不同的模式体系。
  5. 根据需要分配键值,并确定标准化程度——需在减少数据冗余的需求与性能要求之间达成平衡。规范化是一种用于组织数据模型(及其所代表的数据库)的技术,其核心在于通过分配称为“键”的数值标识符来表征数据组之间的关系,从而避免数据冗余。例如,若为每位客户分配唯一标识键,该键便可同时关联其地址信息与订单历史,而无需在客户姓名表中重复存储这些数据。规范化通常会减少数据库所需的存储空间,但这可能会带来性能的代价。
  6. 最终确定并验证数据模型。数据建模是一个迭代过程,应随着业务需求的变化而不断重复和完善。
Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

数据建模类型

数据建模始终与数据库管理系统协同演进,随着企业数据存储需求的日益增长,模型类型也呈现出渐趋复杂的演进轨迹。以下是几种模型类型:

  • 层次数据模型以树状结构呈现一对多关系。在此类模型中,每条记录均存在单一根节点或父级节点,可映射至一个或多个子表。此模型于 1966 年推出,并迅速得到广泛应用,尤其是在银行业领域,从而在 IBM Information Management System (IMS) 中实现。尽管此方法效率低于最近开发的数据库模型,但仍在可扩展标记语言 (XML) 系统和地理信息系统 (GIS) 中使用。
  • 关系数据模型最初由 IBM 研究员 E.F.Codd 于 1970 年提出。时至今日,它们仍在企业计算常用的许多关系数据库中得到应用。关系数据建模不需要详细了解所使用的数据存储的物理属性。其中,数据段通过使用表显式连接,从而降低数据库复杂性。

关系数据库经常使用结构化查询语言 (SQL) 进行数据管理。这些数据库可以很好地维护数据完整性并最大限度地减少冗余。它们常用于销售点系统,也适用于其他类型的交易处理场景。

  • 实体-关系 (ER) 数据模型通过规范化图示呈现数据库中实体间的关联关系。数据架构师运用多种实体关系建模工具来构建可视化图谱,以传达数据库设计的核心目标。
  • 随着面向对象编程在 20 世纪 90 年代中期兴起,面向对象数据模型也逐渐受到关注。所涉及的“对象”是现实世界实体的抽象。对象按类层次结构进行分组,并具备与之关联的特征属性。面向对象的数据库可以包含表,但也可以支持更复杂的数据关系。这种方法用于多媒体和超文本数据库以及其他用例。
  • 维度数据模型由拉尔夫・金博尔提出,其设计初衷是优化数据仓库中用于分析场景的数据检索速度。关系模型与ER模型侧重存储效率,而维度模型则通过增加数据冗余来优化信息检索与报表生成的便捷性。这种建模通常用于各种 OLAP 系统。

两种流行的维度数据模型是星形架构,其中数据被组织为事实(可测量的项目)和维度(参考信息),其中每个事实被其关联的维度呈星形图案包围。另一种是雪花模型,它与星型模型类似,但包含额外的关联维度层级,使得分支结构更为复杂。

数据建模的优点

数据建模使开发人员、数据架构师、业务分析师和其他利益相关者可以更轻松地查看和理解数据库或数据仓库中数据之间的关系。此外,它还可以:

  • 减少软件和数据库开发中的错误。
  • 提升全企业范围内文档与系统设计的一致性。
  • 提高应用程序和数据库性能。
  • 简化整个组织的数据映射。
  • 促进开发团队与商业智能团队之间的高效协作。
  • 在概念、逻辑和物理层面简化并加快数据库设计过程。

数据建模工具

当前,众多商用及开源计算机辅助软件工程 (CASE) 解决方案已获广泛应用,涵盖多种数据建模、图表生成及可视化工具。部分示例如下:

  • erwin Data Modeler 是一个基于整合 DEFinition for信息建模 (IDEF1X) 数据建模语言的数据建模工具,现在支持包括维度方法在内的其他符号方法。
  • Enterprise Architect 是一种可视化建模和设计工具,支持企业信息系统和架构以及软件应用程序和数据库的建模。它基于面向对象的语言和标准。
  • ER/Studio 是一款数据库设计软件,兼容当今多款主流数据库管理系统。它支持关系数据建模和维度数据建模。
  • 免费数据建模工具包括开源解决方案,例如 Open ModelSphere。
相关解决方案
数据科学工具和解决方案

使用数据科学工具和解决方案,利用数据、算法、机器学习和 AI 技术发现模式,并构建预测。

深入了解数据科学解决方案
IBM Cognos Analytics

推出 Cognos Analytics 12.0,人工智能驱动洞察分析可以更好地做出决策。

深入了解 Cognos Analytics
数据和分析咨询服务

通过 IBM Consulting 发掘企业数据的价值,建立以洞察分析为导向的组织,实现业务优势。

了解分析服务
采取后续步骤

使用数据科学工具和解决方案,利用数据、算法、机器学习和 AI 技术发现模式,并构建预测。

  1. 深入了解数据科学解决方案
  2. 深入了解分析服务