【数据模型系列_01】基础概念

楼主
我是社区第525317位番薯,欢迎点我头像关注我哦~

现实中我们经常听到各种各样的模型,比如数学模型、算法模型、数据模型等等,还有最近大火的AI大模型。

甚至,领导们也会经常说:你们建个模型测算一下呀~

似乎听起来只要能跟模型产生联系,就会给人一种高大上、专业的感觉。

那么究竟什么是【模型】呢?

模型是对现实客观事物的一种抽象表示,可以是虚拟的描述,也可以是实体模型。比如售楼处的沙盘,就是模型的一种。

 

那什么是【数据模型】呢?

数据模型是通过数据、数据关系和数据属性对现实世界、业务逻辑进行抽象和简化描述,它用于理解、表示和组织数据元素,是现实世界、业务逻辑在数据层面的投影。有助于揭示业务现象背后的规律,还可以帮助预测未来趋势和做出决策。

Part.01

模型的基本概念

学习数据模型,需要了解一些基本概念,包括但不限于如下这些:

1.实体(Entity)

现实世界中的具体对象、事物或概念,可以是人、物、事件等。在数据模型中,实体用于表示数据的基本单位。

2.属性(Attribute)

实体具有的特征或性质,用于描述实体的特征。例如,对于一个“学生”实体,其属性可以是姓名、年龄、性别等。

3.关系(Relationship)

实体之间的联系或连接,描述实体之间的相关性和依赖关系。例如,一个“学生”实体和一个“课程”实体之间存在关系,表示学生选修了某门课程。

两个不同实体集之间存在以下3种关系类型。

一对一(1 : 1),指实体集a中的一个实体最多只与实体集b中的一个实体相联系。

一对多(1 : N),指实体集a中的一个实体可与实体集b中的多个实体相联系。

多对多(N : N),指实体集a中的多个实体可与实体集b中的多个实体相联系。

4.实体关系图(Entity-Relationship Diagram,ERD):

基于实体和关系构建的图形表示,用于可视化数据模型的结构。ERD通过图形符号表示实体、属性和关系之间的联系。

5.主键(Primary Key)

实体中用于唯一标识每个实体实例的属性或属性组合。主键用于确保实体实例之间的唯一性。

6.外键(Foreign Key)

表示实体之间的关联关系,指向另一个实体的主键。外键用于建立表与表之间的关联,实现数据的一致性和完整性。

7.范式(Normalization)

数据库设计中的一种规范化过程,用于确保数据的高效性和可靠性。范式通过分解数据,消除冗余和数据依赖,提高数据库的性能和可维护性。

Part.02 常见数据建模方法

1.关系型数据模型

关系型数据模型是最常见和广泛使用的数据模型之一。它将数据组织成二维表格形式,其中表格由行和列组成,行表示数据的记录,列表示记录中的属性。关系型数据模型使用关系(Relationship)来描述不同表之间的联系和依赖关系,通过主键(Primary Key)和外键(Foreign Key)来建立表与表之间的关联。关系型数据库常见的代表是SQL(Structured Query Language)数据库,如MySQL和Oracle。

 

2.实体-关系模型

实体-关系模型是一种基于实体(Entity)和关系(Relationship)的数据模型。它通过实体描述真实世界的对象或概念,用属性(Attribute)描述实体的特征,通过关系描述实体之间的关联。实体-关系模型以ER图(Entity-Relationship Diagram)的形式可视化,使用图形符号表示实体、属性和关系之间的联系。ER模型的关键概念包括实体、属性、关系、主键和外键,这些概念用于描述和建模数据之间的逻辑关系。

 

3.维度建模

是数据仓库大师Ralph Kimball提出的一种用于数据仓库(Data Warehouse)的建模技术。用于设计数据仓库(Data Warehouse)和商业智能(Business Intelligence)系统。它以事实表(Fact Table)和维度表(Dimension Table)为中心,用于分析和报告业务指标。

 

在维度建模中,事实表包含事实(Facts)和度量(Measures),描述业务事实的数值或数量。维度表包含描述事实的上下文信息,如时间维度、产品维度、地理位置维度等,用于为事实提供详细的分析维度。维度建模通过将数据转化为多维结构,提供了更强大和灵活的分析能力,以支持数据分析和决策支持。

Part.03

维度建模流程

在BI里面,常用维度建模。在将业务需求和数据转化为合适的数据模型时,通常有以下流程:

1.定义业务需求

了解业务需求是维度建模的第一步。通过和业务相关的人员交流,澄清需求、目标和数据要求。这样能够更好地把握数据建模的方向和重点。

2.定义维度和度量

通过业务需求确定需要的维度和度量。维度可以是时间、产品、客户等描述业务特征的数据,而度量是需要分析和决策的业务指标或数据值,如销售额、订单数量等。

3.设计事实表(Fact Table)

事实表是维度建模中最核心的数据结构之一。它通过与多个维度表(Dimension Tables)进行关联建立起来,并存储度量信息。事实表常常是按照业务事件或时间周期进行组织,如销售事实表、订单事实表等。

4.设计维度表(Dimension Tables)

维度表是描述维度数据的数据结构,与事实表进行关联。在设计维度表时需要确定维度的层次结构、属性、关系等信息。常见的维度包括时间维度、产品维度、客户维度等。

5.建立模型

在此步骤中,建立维度表和事实表之间的逻辑关系,创建完整的维度模型。在维度模型中,事实表是一个中心的数据集合,与多个维度表之间形成关联。

星型模式(Star Schema)和雪花模式(Snowflake Schema): 

星型模式是维度建模中最常用的数据结构之一,它采用了一个中心的事实表(Fact Table)与多个维度表(Dimension Tables)的关联结构,形成一个类似星星的图形。模式简单、易于理解和使用,适用于大多数数据分析场景。

而雪花模式是星型模式的扩展,它在维度表之间建立了更多的关联关系,形成像雪花一样的图形。雪花模式用于复杂的维度结构,能够提供更精细的维度分析能力。

6.优化性能

优化性能是维度建模流程的最后一步。在此步骤中进行模型优化、索引优化、数据加载和更新等工作,以提高查询性能、系统效率,提升用户体验。

 

文末彩蛋

本篇纯理论,可能略显晦涩,但这是理解数据模型的基础~

读到这里的同学,私信我,送199元课程优惠券,免费学习~

限3张哈~

分享扩散:
参与人数 +1 F币 +60 理由
苏瑞 + 60 【2024原创内容激励奖励】给你32个赞!

查看全部评分

沙发
发表于 2024-6-2 13:02:28

数据模型学习

板凳
发表于 2024-6-3 16:28:36
您好,本篇内容理论知识较多,可以结合具体图片内容进行介绍。比如,可以放一张具体的实体关系图,实际介绍一下实体、属性及关系,以更加清晰的形式让读者理解。
地板
发表于 2024-6-5 09:49:41
学习到了
5楼
发表于 2024-6-5 09:50:18
但我们之前实体关系图就叫ER图
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表