浅析数据模型和数据建模【有图易懂】

简介: 通过使用数据模型,开发人员、数据架构师和业务分析师等各种利益相关者可以在构建数据库和仓库之前就他们将捕获的数据以及他们希望如何使用这些数据达成一致。

一 概述

通过使用数据模型,开发人员、数据架构师和业务分析师等各种利益相关者可以在构建数据库和仓库之前就他们将捕获的数据以及他们希望如何使用这些数据达成一致。

数据模型指定要捕获哪些信息、如何存储它以及它如何与业务的各个组件相关联。数据建模的最终目标是为整个组织建立清晰的数据标准。例如,电子商务网站的模型可能会指定将捕获的客户数据。它将定义如何标记该数据及其与产品信息和销售流程的关系。

就像房子的蓝图一样,当事情变得复杂时,数据模型在开始建造之前定义了要建造什么以及如何建造。这种方法可以防止数据库设计和开发错误、捕获不必要的数据以及在多个位置复制数据。

二 数据模型类型

数据模型分为三类:概念模型、逻辑模型和物理模型。它们帮助利益相关者围绕数据项目的原因、方式和内容保持一致。每种类型的模型在数据建模过程中服务于不同的目的和受众。

1概念数据模型

概念数据模型以可视化方式管理正在建模的业务流程的概念和规则,而无需深入了解技术细节。可以使用此可视化模式来使业务利益相关者、系统架构师和开发人员在项目和业务需求方面保持一致:数据系统将包含哪些信息、元素应如何相互关联以及它们的依赖关系。

通常,概念模型表示系统内容、组织和相关业务规则的高级视图。例如,电子商务业务的数据模型将包含供应商、产品、客户和销售,业务规则是每个供应商需要提供至少一种产品。

概念模型没有标准格式。重要的是,它可以帮助技术和非技术利益相关者就其数据项目的目的、范围和设计达成一致。以下图形都是概念数据模型的示例。

e623f4e95eb46610faadc092f4dc7866.png

4a36e4ddb6fb2df59711814b6cbc5493.png

2逻辑数据模型

逻辑数据模型基于概念模型并定义项目的数据元素和关系,可以看到数据库中特定实体的名称以及它们的属性。继续使用电子商务示例:逻辑模型显示产品是通过“产品 ID”标识的,具有描述、类别和单价等属性。

数据架构师和业务分析师使用逻辑数据模型来规划数据库系统中的实施。以下是逻辑数据模型的示例。

4bb6cd2da7a302ff7747abfa126e627a.png

3物理数据模型

物理数据模型变得技术化。数据库分析师和开发人员使用它来设计数据库和相关数据结构。该模型指定了将存储的数据类型以及技术数据要求。

数据类型规范的例子是:一条数据是整数(不带小数点的数字)还是浮点型(带小数位的数字)。技术要求包括有关存储需求、访问速度和数据冗余的详细信息——将一条数据存储在多个位置以提高持久性并提高查询性能。

68bf45a8034307ea56467b401435c413.png

在实践中,只有非常大的项目,比如为供应链业务建模,才会从概念模型转向逻辑模型再到物理模型。大多数其他项目跳过概念阶段,将大部分时间花在逻辑建模上。一些团队甚至同时涵盖物理阶段的元素,因为从事逻辑模型的人员也负责技术实施。

三 三大数据建模技术

有许多不同的技术来设计和构建数据库。应该探索这些技术,并在概念阶段结束时确定最适合的技术。这些数据建模方法定义了数据库的结构化方式,并与可用于管理数据项目的格式或技术类型密切相关。

1.关系数据建模

在关系数据模型中,数据存储在表中,其中特定元素链接到其他表中的信息。实体可以具有一对一、一对多或多对多的关系。

关系数据库通常使用 SQL(结构化查询语言)语言,用于访问和管理数据。它们经常用于CRM系统以及其他类型的交易处理。

de77da34db27de762d28303faa27c885.png

4e5a9d146cfcaffcaedfbec16845654b.png044a08f52769344e43a08dfd07542743.png

实体-关系模型(有时称为 ER 模型)类似于关系模型。它展示了系统中不同元素之间的关系,但不涉及技术细节。可以在概念阶段使用 ER 模型来协调技术和非技术利益相关者。

2.维度数据建模

理解维度数据模型,可以想象一个立方体。立方体的每一面都代表尝试捕获的数据的一个方面。

例如,假设企业向不同的客户群销售多种产品,并且要评估一段时间内的销售业绩。可以将其展现为具有时间、产品和客户细分维度的数据立方体。通过在立方体的轴上上下左右移动,可以在所有这些维度上进行比较。我们将在任何时间看到这些产品的销售额如何相互比较以及不同的客户群。

93142d6a752572bd28bb3f9c0112243b.png

在概念阶段使用立方体模型。这种多维数据集在逻辑阶段最常见的表现之一是“星型模式”,如下图所示。起初,它可能看起来像一个关系模型。尽管如此,星型模式还是不同的,因为它有一个连接到许多其他节点的中心节点。

8b2099c5875dc15bbca58a36d799027b.png

3.图数据建模

在概念阶段,大多数人在白板上绘制数据模型。这样的草图类似于图模型。它由“节点”和边组成——节点代表数据存储的位置,边代表节点之间的关系。这也是这种方法的主要优点:“你在白板上画的东西就是你存储在数据库中的东西。”

684487222c7cfd981d5765a68171e186.png

其他技术要求将概念阶段的输出转换为逻辑和物理实现的不同格式,例如,从 ER 转换为关系模型或从多维数据集模型转换为星型模式。图模型并非如此,可以使用 Neo4j 等技术直接实现它们,Neo4j 是一个原生图形数据库平台。四数据模型管理的价值

数据模型是一种可视化的表示,它将抽象的想法转化为技术实施计划。它们有助于避免代价高昂的数据基础架构拆除和重建,因为数据建模人员需要在创建数据库和仓库之前考虑他们需要的数据、数据关系、数据架构,甚至项目是否可行。

数据模型还有助于数据治理和法律合规性。它要求从项目一开始就设置标准,这样团队就不会遇到冲突的数据集,这些数据集需要在使用之前进行清理,或者更糟糕的是,根本无法使用。

数据模型和标准化有助于避免在整个组织中以近十种不同方式标记的注册字段之类的情况。

它还有助于在建模时识别敏感信息(社会保险号、密码、信用卡号),以便在开始构建之前让安全和法律专家参与进来。

安全、准确和高质量的数据为组织中的各个团队带来了一系列现实的好处。产品团队可以更快地迭代并构建身临其境的用户体验。分析和商业智能团队无需繁重的变通方法即可创建查询。营销团队可以通过根据用户行为和特征个性化消息传递来改进工作。

相关文章
|
6天前
|
数据可视化 大数据 BI
数据可视化大屏的设计规范和案例参考(使用AxureRP软件设计)
在信息化浪潮中,数据可视化不再仅限于单纯的数据呈现,而是逐渐演变为一种能够直观揭示复杂数据内在关联、趋势变化以及关键洞察的艺术形式。
127 3
|
5月前
|
机器学习/深度学习 数据建模 数据挖掘
数据建模是什么意思?如何进行数据建模?
数据建模是什么意思?如何进行数据建模?
59 2
|
11月前
|
BI 数据库 C++
报表制作简化版
前言: 机房收费系统无论是重构还是第一版,都用到了报表,为什么在一个系统中要添加报表呢?报表的作用是什么呢?报表百科。我理解的报表是:向上级报告情况的一个媒介,没有固定的格式。之前在项目中,我们真正给企业做过一次报表,是以导出word的形式生成的,大概格式如图:
|
数据可视化
【设计篇】35 # 如何让可视化设计更加清晰?
【设计篇】35 # 如何让可视化设计更加清晰?
56 0
【设计篇】35 # 如何让可视化设计更加清晰?
|
存储 NoSQL 数据可视化
谈谈数据建模
数十年来,数据建模已用于定义,分类和标准化数据,因此信息系统可以利用它。
谈谈数据建模
|
编解码 数据可视化 JavaScript
【阅读】数据之美,一本书学会可视化设计
【阅读】数据之美,一本书学会可视化设计
473 0
【阅读】数据之美,一本书学会可视化设计
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和数据字典案例分析
接上一篇文章的内容,我们挑选出几个案例来对数据流图和数据字典进行分析。
『软件工程10』结构化系统分析:数据流图和数据字典案例分析
|
SQL 数据建模 数据库
|
测试技术 uml 数据安全/隐私保护
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(二)
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(二)
292 0
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(二)
|
测试技术 数据库 数据安全/隐私保护
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(一)
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(一)
363 0
【UML 建模】UML建模语言入门 -- 用例视图详解 用例视图建模实战(一)