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

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

一 概述

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

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

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

二 数据模型类型

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

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 是一个原生图形数据库平台。四数据模型管理的价值

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

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

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

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

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

相关文章
|
9月前
|
SQL 数据建模 关系型数据库
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
别光知道存数据库了,数据建模才是王道!(入门指南+实战代码)
1759 4
|
关系型数据库 MySQL 数据挖掘
MYSQL日期与时间函数的实用技巧
MYSQL日期函数与时间函数是数据库操作的关键工具,可轻松处理、查询、比较和格式化日期时间数据。它们能提取日期的年、月、日等部分,便于筛选和统计;同时,也能处理时间数据,如计算时间差、获取当前时间,助力用户更好地管理时间信息。掌握这些函数,不仅能提升数据库操作效率,还能为数据分析和报表生成提供有力支持。无论初学者还是资深数据库管理员,精通MYSQL的日期和时间函数都至关重要,以满足各种数据处理需求,确保数据的准确性和高效性。
945 0
|
7月前
|
数据采集 存储 数据建模
终于有人把数据建模讲明白了
在企业数据系统中,常存在“同名异义”字段导致数据混乱的问题,根源在于缺乏统一的数据模型。数据建模是将业务对象、行为和规则转化为结构化模型的过程,而数据模型则是描述数据组织方式的结构。通过建模,可实现数据标准化、提升质量,并支撑业务分析与决策。常见建模方法包括强调一致性的范式建模、面向分析的维度建模和贴近业务本质的实体建模,三者协同使用,助力企业构建高效、规范的数据体系。
终于有人把数据建模讲明白了
|
8月前
|
安全 关系型数据库 数据库
数据仓库是什么,一文读懂数据仓库设计步骤
数据仓库是企业整合、存储和分析历史数据的核心工具,支持决策与趋势预测。设计需经历明确业务需求、梳理数据源、概念建模、逻辑设计、物理实现及测试维护等步骤。通过合理规划结构、安全机制与数据集成(如使用FineDataLink),可有效提升数据质量与分析效率,助力企业发挥数据价值。
|
7月前
|
机器学习/深度学习 算法 机器人
基于Qlearning强化学习的2DoF机械臂运动控制系统matlab仿真
本项目基于Q-learning强化学习算法,实现对二自由度机械臂的运动控制仿真。通过MATLAB 2022a平台,验证了算法在状态、动作与奖励机制下的学习效果,展示了机械臂自主学习达到目标位置的能力。内容涵盖理论模型、算法原理与核心代码实现。
197 7
|
SQL 分布式计算 大数据
深度剖析数据中台架构图,铸造数字文明的基石
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
编解码 算法 vr&ar
深度剖析FFmpeg视频解码后的帧处理到Qt显示 从AVFrame到QImage的转换(二)
深度剖析FFmpeg视频解码后的帧处理到Qt显示 从AVFrame到QImage的转换
706 1
|
存储 数据可视化 架构师
【数据建模】什么是数据建模?
数据建模是分析和定义业务收集和生成的所有不同数据以及这些数据之间的关系的过程。数据建模概念在业务中使用数据时创建数据的可视化表示,而流程本身是理解和澄清数据需求的练习。
|
数据可视化
如何使用四分位距方法来识别数据中的异常值?
如何使用四分位距方法来识别数据中的异常值?
|
Ubuntu Linux 开发工具
ubuntu linux搭建lvgl
ubuntu linux搭建lvgl
981 6