数据建模——实体#yyds干货盘点#

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据建模——实体#yyds干货盘点#相关的知识,希望对你有一定的参考价值。

数据仓库(Data Warehouse)是一个存储企业数据的集合,是一个综合性的数据存储环境,用于支持企业的决策制定和分析。 在数据仓库中,实体是指可以被表示和存储的实际或抽象的对象,例如订单、客户、产品等。实体的重要性在于其可以提供有助于业务决策的数据。

实体分类

在数据仓库中,实体可以分为以下几类: 在数据仓库中,实体包括事实(Facts)、维度(Dimensions)、属性(Attributes)等。其中,事实是数据仓库中的核心,表示业务过程发生的具体情况与事实有关的数据,例如销售量、成本、利润等重要指标;维度则是描述事实的一个框架,帮助用户以不同的角度来查看事实数据,有助于用户分析和决策制定;属性则是描述实体特定方面的信息,例如产品的名称、价格、尺寸等信息,帮助用户了解实体的情况。以上是数据仓库中实体的基本概念,不同实体之间存在关系,在实际应用中需要根据具体业务需求设计出相应的结构,并构建相应的数据模型。

举个例子

以一个电商平台的场景为例:

在一个电商平台中,一个订单可以作为一个事实(Facts),它包含了这个订单的信息,例如购买的商品、购买的数量、订单时间、支付方式等内容。其中,购买的商品可以作为一个维度(Dimensions),可以有不同的级别,例如类别、品牌、型号等。这个维度可以帮助用户了解哪些商品更受欢迎、哪些品牌和型号更受欢迎等信息。另外,订单中的商品也有相关的属性(Attributes),例如商品的名称、价格、尺寸等信息。这些属性可以帮助用户更加详细地了解商品的情况。电商平台还可以使用统计数据,例如销售量、收益等,这些统计数据也可以作为事实(Facts)存储在数据仓库中,帮助业务用户更好地了解销售情况并支持决策制定。 在数据仓库中,订单、商品、统计数据等都是实体,它们的属性、关系可以用于支持业务分析和决策制定。

实体分类

照实体含义进行分类:

分类方式 实体含义 例子
业务实体 客户、订单、产品、员工等 电商平台的用户、订单、商品、库存记录等
度量实体 销售量、成本、收益等 每月销售额、每年总收益等
参照实体 商品分类、地理位置、时间等 商品分类、产品所在国家/城市、发货时间等
上下文实体 当前的周期、历史趋势等 当前季度、去年同期销售额等
控制实体 用户信息、权限、日志等 用户账号、管理员权限、操作日志等

按照模式分类的:

模式 描述 例子
明细事实(Factless Fact) 描述实体和关系之间的情况,没有度量值,例如客户没有下单的情况。 网站日访问记录,描述访问者和关系状态(登录/未登录)。
累积快照(Accumulating Snapshot) 描述实体在特定时间点的相关指标,例如库存、订单状态等,通常是在事实表中加入状态字段。 班机飞行状态,包括班机出发时间、到达时间、飞行距离等状态。
周期快照(Periodic Snapshot) 描述实体在一段时间内的情况,例如每日销售情况、每月运输状况等。 每天网站访问用户数,需要每天对该指标进行快照记录。
连续事实(Continuous Fact) 描述实体一段时间内的数据变化情况,例如温度、湿度、压力等变化趋势。 温度传感器的数据记录,需要每秒记录温度变化情况。
多对多关系(Many-to-Many Relationship) 描述实体之间的复杂关系,例如供应商和产品之间的关系。 电商平台中用户和关注商品之间的关系,一个用户可以关注多个商品,一个商品也可以被多个用户关注。

构建过程中需要注意的

在构建实体时,需要注意以下几点:

  1. 实体的定义:实体应该被清晰地定义,并且应该有一个与之相关的名称。这有助于其他人理解实体,并确保每个人都对实体有相同的理解。
  2. 实体的属性:实体应该包含与之相关的属性,这些属性描述了实体的特征。每个属性应该有一个名称,并且应该有一个数据类型。
  3. 实体之间的关系:不同的实体之间可能存在关系,如一对一、一对多或多对多等。构建实体时需要考虑这些关系并将其包含在实体中。
  4. 实体的标识:每个实体都应该有一个唯一的标识符。这可以是一个主键或一个组合键。
  5. 实体的范围:在构建实体时需要确定实体的范围。这可以包括实体的目的、实体的所属领域、实体的使用方式等。
  6. 实体的维护:在构建实体时需要考虑如何维护它,包括如何创建、更新和删除实体及其属性。
  7. 实体的命名规范:为了方便管理和维护,实体的命名应符合一定的规范,尽可能使用简洁易懂的名称。
  8. 实体的设计原则:构建实体时需要考虑一些设计原则,如单一责任原则、开闭原则、依赖倒置原则等,以确保实体的可维护性和扩展性。

构建实体的步骤

  1. 确定实体的目的:在开始构建实体之前,需要确定它的目的并明确它在系统中的作用。为此,需要进行系统需求分析,并确定实体的必要性。
  2. 确定实体的属性:确定实体包含的属性,即实体的特征。这有助于更好地理解实体,并帮助其他人使用实体时了解其特性。
  3. 确定实体之间的关系:如果存在多个实体之间的联系,需要考虑如何将它们联系起来并描述它们之间的关系。
  4. 建立实体的数据模型:完成上述步骤后,建立实体的数据模型。这通常包括使用类图或ER图等形式的建模工具,以绘制实体之间的关系,并将它们与属性相连。
  5. 设计实体的标识:每个实体应该有一个唯一的标识符。这可以是一个主键或一个组合键。
  6. 选择实体的属性类型:为每个实体属性选择适当的数据类型。这有助于确保实体属性的正确性及其在系统中的可用性。
  7. 建立数据表:将实体及其属性和关系转化为数据库表结构。这可以通过使用SQL或数据库管理系统的建立表工具完成。
  8. 测试和迭代:通过测试确保实体及其属性和操作的正确性,并进行必要的迭代和修改。

以上是构建实体的基本步骤,但实际情况可能会更复杂,需要逐步进行,并根据需要进行调整。

以上是关于数据建模——实体#yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据

#yyds干货盘点# RavenDB 文档建模--琐碎的注意事项--处理无限增长的文档

#yyds干货盘点#基于 OneData 的数据仓库方法论

#yyds干货盘点# executor包(执行器功能)

#yyds干货盘点#Prometheus 之监控应用程序

#yyds干货盘点#读取txt文件 - python数据训练系列