数据建模应用

article/2025/10/21 20:13:29

数据建模应用

  • 一、为什么要数据建模
  • 二、数据建模种类
    • 1、关系建模(3NF)
    • 2、维度建模
  • 三、3NF数据建模
    • 1、范式介绍
    • 2、3NF建模实战
  • 四、维度建模
    • 1、维度和指标的概念
    • 2、星型模型
    • 3、雪花模型
    • 4、星型与雪花模型对比
    • 5、维度建模测试案例
  • 五、3NF建模与维度建模的区别
  • 六、指标和维度建模步骤
    • 1、业务需求转化为数据接口
    • 2、维度梳理
    • 3、指标梳理和确认
    • 4、一致性分析矩阵

一、为什么要数据建模

判断一个年轻人有没有潜力,很重要的标准,就是看他如何对待一项从来没有做过的事情。我们常常会引入“体系感”来描述这个学习和上手的过程。所谓体系,就是将做事的方法、步骤和流程,通过拆分与组合,构建出一条达到目标的路径图。无论是交代下来的新任务,还是处理一件很棘手的新事情,它们背后或多或少都一定有一套体系方法存在。它既是做事诀窍,也是避坑指南,更是帮助我们快速高效达到目标的行动指引。

然而很少有人在做事之前,会去考虑这些东西。大多数人往往是“直觉型”选手。布置下来事情了,什么都不多问,什么也不多想,不管三七二十一凭感觉吭哧吭哧去干。如果没有一个有经验的人全程监督带着你,一定会走许多冤枉路,做许多无用功。这反映在老板眼里,就是一个效率低下的印象。普通人是先干再想,出了问题再回头去琢磨原因;聪明人是先想再干,把可能出现的错误减少到最低,最大程度避免弯路出现。这中间的区别,就是体系感(如下图):

在这里插入图片描述
图中的小编号就是做事的步骤。这种体系流程化的思维一旦变成习惯,能够极大提升工作效率。

“You might put up a camping tent without assembly instructions,but would you really try to build your corporate headquarters without a documented blueprint ?”
在建房子的时候我们也需要图纸。如果没有图纸的规划,可想而知建成的房子既丑陋又不结实。

在这里插入图片描述

我们通过“体系感”来把控自己,通过图纸来建立高楼大厦。同样,我们可以通过“数据模型”来管理我们的数据。

数据模型就是数据的组织和存储方法,它强调了从业务、数据存取和使用角度合理存储数据、有了适合业务和基础数据存储环境的模型,那么大数据就会获得以下好处:

性能

良好的数据模型你帮助我们快速查询所需要的数据,减少数据的IO吞吐。

成本

良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果复用,
极大地降低大数据系统中的存储和计算成本。

效率

良好的数据模型能极大地改善用户使用数据的体验,提高使用数据的效率。

质量

良好的数据模型能改善数据统计口径的不一致性,减少计算错误的可能下。

二、数据建模种类

1、关系建模(3NF)

定义:通过实体关系(E-R)体现企业经营活动的业务要素和业务规则,通过满足 3NF 设计消除数据冗余。

优点:模型稳定、灵活、扩展性强

缺点:牺牲一定数据访问的便利性和业务的可理解性

适用性:适用核心基础数据的组织和管理(ODS层)

应用行业:非互联网行业,如传统金融、证券行业、电信行业、零售、航空等

3NF核心表间关系:1-1;n-1;1-n;n-n;

数据库的设计:从事物出发、减少冗余;

数据的仓库:从分析出发

2、维度建模

定义:按照维度表、事实表构建数据模型,通过指标评价企业经营活动

优点:容易理解,可分析性高(DM层)

缺点:稳定性扩展性弱、数据冗余

适用性:从业务需求出发,为分析提供服务

适用行业:互联网行业

三、3NF数据建模

三范式设计可查看之前的博客:https://blog.csdn.net/weixin_45399233/article/details/95957046

1、范式介绍

1NF:属性原子不可分

2NF:满足 1NF,且表中的每一个非主属性,必须完全依赖于本表的主键

3NF:确保每列都和主键列直接相关,而不是间接相关

2、3NF建模实战

业务场景:某个同学在 XXX 银行的 XXX 支行的柜台新开了一个账户,并且存入了100人民币活期。

业务要素:客户信息、账户信息和交易信息等

3NF建模:
在这里插入图片描述

四、维度建模

1、维度和指标的概念

按照维度表、事实表构建数据模型,通过指标评价企业经营活动。

维度一般包括:地区、时间、部门、产品等等。

指标一般包括:销售数量、销售金额、平均销售金额等等。

2、星型模型

星型模是一种多维的数据关系,它由一个事实表和一组维表组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表。这也是我们在使用 hive 时,经常会看到一些大宽表的原因,大宽表一般都是事实表,包含了维度关联的主键和一些度量信息,而维度表则是事实表里面维度的具体信息,使用时候一般通过 join 来组合数据,相对来说对OLAP 的分析比较方便。
在这里插入图片描述
星型模型以事实表为中心,周围可以有很多维度,这些维度只能有一级维度(维度下面不能有子维度)

3、雪花模型

当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。雪花模型更加符合数据库范式,减少数据冗余,但是在分析数据的时候,操作比较复杂,需要 join 的表比较多所以其性能并不一定比星型模型高。
在这里插入图片描述
雪花模型以事实表为中心,周围可以有很多维度,维度下面可以有子维度

4、星型与雪花模型对比

查询速度扩展性冗余度对事实表的情况表个数
星型模型快(一般2张表join)扩展性比较弱
雪花模型慢(一般多张表join)扩展性比较强增加宽度字段比较少,冗余低

5、维度建模测试案例

业务需求高层领导想看不同地区、不同时间、不同部门、不同产品的销售数量、销售金额和平均销售金额?

梳理维度和指标

维度包括:

  • 地区

  • 时间(每天、每周、每月)

  • 时间是yyyy-mm-DD HH:mm:ss

    基本维度:yyyy-mm-DD HH:mm:ss

    衍生维度:day、week、month、quarter、year

  • 部门

  • 产品

指标包括:

  • 基础指标

    销售数量、销售金额

  • 衍生指标

    平均销售金额

业务系统里面有一张销售表:

saler_idproductNamedateamountpricecity
001P302019-09-05 20:05:3013000北京

产品维度:

productIdproductName
s001iphoneX
s002P30
s003MI8
s004R20

时间维度:

datedayweekmonthquarteryear
2019-09-05 20:05:30201909053620190932019

地区维度:

area_idcityName
010北京

创建事实表(fact):

saler_idproductIddatearea_idcountprice
01P302019-09-0501010003000

在这里插入图片描述
分析指标:

  select p.productName,sum(price) from fact f join product p on f.productId = p.productId group by p.productName; 

五、3NF建模与维度建模的区别

业务场景:大家去超市买东西,付完钱会给你一张购物明细,同学们想一下,这张购物明细分别用3NF建模和维度建模,怎么做?

3NF建模如下:

在这里插入图片描述
维度建模如下:

在这里插入图片描述

六、指标和维度建模步骤

1、业务需求转化为数据接口

2、维度梳理

3、指标梳理和确认

指标分类:

  • 可加:如金额、数量等

  • 不可加:如折扣、汇率等

4、一致性分析矩阵

维度\指标销售量销售金额平均销售金额
日期
时间
地区
商品

http://chatgpt.dhexx.cn/article/WXY67bXi.shtml

相关文章

分享大数据建模工具-大数据挖掘建模平台

大数据挖掘建模平台 是面向企业级用户的大数据挖掘建模平台。平台采用可视化操作方式,通过丰富内置算法,帮助用户快速、一站式地进行数据分析及挖掘建模,可应用于处理海量数据、高复杂性的数据挖掘任务,为其提供准确、高精度的计算…

大数据之数据模型

一、星型摸型 事实表是记录一个事实的,可以理解为订单表, 纬度表是提供更丰富信息的表,可以理解为商品明细表、订单明细表; 它是由一个事实表和一组维表组成,每个维表都有一个维作为主键,所有这些维的主键…

数据建模概述

数据建模(data modeling,其实应该就是创建一个函数)指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成现实的数据库。 将经过系统分析后抽象出来的概念模型转化为物理模型后,在…

大数据时代建模——图数据库建模

导读:云计算环境下,传统关系型数据库在海量数据存储方面存在瓶颈,对树形结构与半结构化数据的建模比较困难。本文介绍一种全新的建模方式——图数据库建模。应用图数据库模型更具扩展性、灵活性、高可靠性和高性能,能建立高细粒度…

大数据挖掘建模平台是怎样的?

大数据挖掘建模平台是可视化、一站式、高性能的数据挖掘与人工智能建模服务平台。面向企业级用户的大数据挖掘建模平台。平台采用可视化操作方式,通过丰富内置算法,帮助用户快速、一站式地进行数据分析及挖掘建模,可应用于处理海量数据、高复…

数据建模.

数据建模 什么是数据建模为什么要进行数据建模怎么进行数据建模 1. 为什么要进行数据建模? 提高 效率/性能: 计算机的的吞吐率,减少I/O的时间,提高用户使用数据的效率。开销:减少数据的冗余,从而节省存…

大数据数据建模

今天给大家分享一下 数据开发工作中数据建模的步骤, 第一步:选择模型或者自定义模型 这第一步需要我们基于业务问题,来决定我们需要选择哪种模型,目前市场中有很多模型可以供我们选择, 比如,如果要预测产…

数据建模

周三保(zhousbcn.ibm.com) IBM 软件部信息技术专家. 简介: 本文的主要内容不是介绍现有的比较流行的主要行业的一些数据模型,而是将笔者在数据仓库建设项目中的一些经验,在这里分享给大家。希望帮助大家在数据仓库项目建设中总结出一套能够合…

大数据分析及其建模利用

在数字经济时期,互联网、物联网、5G、大数据、智慧城市等各类模式的信息技术呈爆炸式增长,使得数据以令人难以设想的速度始终增长,企业运营的各个阶段都可以被记载下来,产品销售的各个环节也被记载下来,客户的生产行为…

浅谈大数据建模的主要技术:维度建模

文章目录 前言维度建模关键概念度量和环境事实和维度事实表维度表星形架构和雪花架构 维度建模一般过程1. 选取业务过程2. 定义粒度3. 确定维度4. 确定事实 前言 我们不管是基于 Hadoop 的数据仓库(如 Hive ),还是基于传统 MPP 架构的数据仓…

大数据建模五步法

from:https://www.sohu.com/a/198093510_783844 前一阵子,某网络公司发起了一个什么建模大赛,有个学员问我,数据建模怎么搞? 为了满足他的好学精神,我决定写这一篇文章,来描述一下数据分析必须…

大数据实践之数据建模

随着DT时代互联网、智能设备及其他信息技术的发展,数据爆发式增长,如何将这些数据进行有序、有结构地分类组织和存储是我们面临的一个挑战。 为什么需要数据建模 如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置&#xf…

大数据之数据建模

1.星座模型 星形模型中有一张事实表,以及零个或多个维度表,事实表与维度表通过主键外键相关联,维度表之间没有关联,当所有维表都直接连接到“事实表”上时,整个图解就像星星一样。 星形模型是最简单,也是…

数据模型篇之大数据领域建模综述

第8章 大数据领域建模综述 1.为什么需要数据建模 为了更好的将数据进行有序、有结构地分类组织和存储。数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。 数据建模的好处: 性能:良好的数据模型能帮助我们快…

大数据学习(七)一分钟了解数据建模

何为大数据建模,我们从3个W(什么、为什么、如何)出发来详解下大数据建模。 一、什么是数据建模(what) 数据建模指的是对现实世界各类数据的抽象组织,确定数据库需管辖的范围、数据的组织形式等直至转化成…

[数学建模] 大数据建模五步法

目录传送门 概要第一步:选择模型或自定义模式第二步:训练模型第三步:评估模型第四步:应用模型第五步:优化模型最后语 概要 PS: 本文转载自 https://www.sohu.com/a/198093510_783844 本文将尝试来梳理一下数据建模的…

人工智能知识体系大全

知识的搬运工,转从https://blog.csdn.net/j2iayu7y/article/details/79709420 转自:https://blog.csdn.net/wyx100/article/details/80950499

史上最全的人工智能知识图谱

史上最全的人工智能知识图谱 转载于公众号: 数邦客 人工智能知识图谱 1 知识图谱 知识图谱(Knowledge Graph)又称为科学知识图谱,由Google与2012年5月提出,目的是提高搜索引擎的能力,改善用户的搜索质量及搜索体验。随着人工智能…

人工智能之知识表示

人工智能之知识表示 人工智能课程复习笔记专题 人工智能绪论 人工智能之知识表示 人工智能之搜索方法 人工智能之经典逻辑推理 人工智能之专家系统 人工智能之不确定推理方法 人工智能之机器学习 一、知识 知识是人们在改造客观世界的实践活动中积累起来的认识和经验…

新一代人工智能知识体系大全

新一代人工智能知识体系大全,如下图: