事实表的基本概念

一篇文章搞懂数据仓库:三种事实表(设计原则,设计方法、对比) 粒度是一个订单一行数据,创建订单时间,付款时间,发货时间,收货时间,分别作为一个字段,便于计算不同业务过程的时间间隔。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设 计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度 和与业务过程有关的度量。订单支付金额和订单票数,两个事实的粒度为 “订单级”,属于上一层订单级数据,与 “票级” 事实表的粒度不一致,且不能进行汇总;如,订单金额、订单优惠金额、订单运费这 3 个事实,应该采用统一的计量单位,统一为元或者分,以方便使用; 阅读详情

什么是事实表

事实表的结构

事实数据表是包含描述业务内特定事件的数据。是发生在现实世界中的操作型事件所产生的可度量数据,通常包含大量的行。日常查询请求的主要目标就是基于事实表展开计算和聚合操作。
从最低粒度级别来看,事实表行对应一个度量事件,也可以说,一个度量事件必然对应一个最低粒度的事实行为。因此,事实表的设计完全依赖物理活动,不受可能产生的最终报表的影响。
事实表一般会包含数字度量,也总会包含外键,用来与相关的维表做关联。
常用的事实表经常会包含日期/时间戳,退化维度键(退化维度键的解释不再展开,想了解具体定义可Baidu或者看我下期博客)。

数据度量分类

数据度量可分为:可加,半可加,不可加三类。
可加类:最灵活,最有用的事实。可加类度量可以按照与事实表关联的任意维度汇总。
半可加类:可以对某些维度汇总,但不能对所有维度汇总。例如,订单差额的计算,除了时间维度外,它们可以跨所有维度进行加法操作。
不可加类:完全不可加类。例如 ,比率。对非可加事实,一种好的方法时,尽可能存储非可加度量的完全可加的分量,并在计算出最终的非可加事实前,将这些分量汇总到最终的结果集合中。

事实表中的空值

事实表中可以存在空值。所有的聚合函数(sum,count,min,max ,avg等)均可针对空值计算。但是外键和用来关联维度表的id不能存放空值,否则会导致违反参照完整性的情况发生,可以采用使用默认行(代理键)的形式来表示未知的或者无法应用的条件。

一致性原则

1.如果某些度量出现在不同的事实表中,应该保证针对事实的技术定义是相同的。
2.如果不同的事实表定义是一致的,则这些一致性事实应该具有相同的命名。
3.如果不同的事实表定义不一致,则应该有不同的命名用来告诫业务用户和BI应用。

简单举例

1.银行对存款记账,A表中存放实际数据,包括账号、所属机构号、存款金额等,B表存放机构号和机构名称的对应关系。则A是事实表,B是维表。
2.用户注册网站。A表中存放实际数据,包括用户的姓名,年龄,邮箱,国家id,省份id等,B表存放国家id与国家名字的对应关系。则A是事实表,B是维表。

事实表分类

  • 可加,半可加,不可加事实

  • 一致性事实表:

  • 事务事实表:一行对应空间或时间上某点的度量事件。
    优劣:事务事实表可以是稠密的,也可以是稀疏的,因为仅当存在度量时才会建立行
    应用场景:
    业务场景举例:

  • 周期快照事实表:每行汇总了发生在某一标准周期,如某一天,某周,某月的多个度量事件。
    优劣:
    应用场景:
    业务场景举例:

  • 积累快照事实表:汇总了发生在过程开始和结束之间可预测步骤内的度量事件。管道或工作流过程具有定义的开始点,标准中间过程,定义的结束点,它们在此类事实表中都可以被建模。
    优劣:
    应用场景:缓慢变化维事实表的设计
    业务场景举例:以履行订单表举例。累计快照事实表中的一行,对应某一具体的订单,当订单产生时会插入一行,修改订单行为发生时,表内订单数据被访问并修改。

  • 无事实的事实表:存在某些事件仅仅记录一系列某一时刻发生的多维实体。
    优劣:
    应用场景:
    业务场景举例:在给定的某一天中发生的学生参加课程的事件。用户注册网站事件

  • 聚集事实表或OLAP多维数据库:聚合事实表是对原子粒度事实表数据进行简单的数字化上卷操作,目的是为了提高查询性能。聚合事实表包含外键以缩小一致性维度,聚集事实的构建是通过对来自多个原子事实表的度量的汇总而获得的。
    优劣:适当设计的聚集集合类似数据库索引,能够提高查询性能,但不需要直接面对BI应用和商业用户
    应用场景:数据仓库中集市层的建设(IDL)
    业务场景举例: 未想到

  • 合并事实表:通常将来自多个过程的,以相同粒度表示的事实合并为一个单一的合并事实表,这样做能够带来方便。
    优劣:合并事实表会增加ETL处理过程的负担,但降低了BI应用的分析代价。
    应用场景:特别适合那些经常需要共同分析的多过程度量。
    业务场景举例:现货销售可以与销售预测合并为一张事实表,与针对多个不同的事实表采用下钻应用比较,这样做可使对现货及预测任务的分析工作变得简单快捷。

事实表 的指标 维度表_数据仓库建模——维度表、事实表与星型模式 一、维度建模的基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。它本身属于一种关系建模方法,但和在操作型数据库中介绍的关系建模方法相比增加了两个概念:1. 维度表(dimension)表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天... 阅读详情

相关推荐

【杂记】宽表/窄表—事实表/维度表—数仓分层(ODS/CDM/ADS)—增量表/全量表——电信行业常见指标

宽表与窄表 宽表:从字面意义上讲就是字段比较多的数据库表。 窄表:严格按照数据库设计三范式。尽量减少数据冗余,但是缺点是修改一个数据可能需要修改多张表 魔百和 魔百和基于家庭宽带网络,通过“魔百和”定制终端,以电视机为显示设备,向用户提供可点播的电视内容及应用, 同时提供多屏互动体验,着力打造“和视界”为多屏首发高清院线。 ODS表及CDR表 ODS——操作性数据 DW——数据仓库 DM——数据集市 1.数据中心整体架构 数据仓库的整理架构,各个系统的元数据通过ETL同步到操作性数据仓库ODS中,对OD

积一时之步,臻千里之遥程 8641

事实表的三种类型设计

事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设 计,通过获取描述业务过程的度量来表达业务过程,包含了引用的维度 和与业务过程有关的度量。 1、三种事实表概述 事实表有三种类型 : 事务事实表、周期快照事实表和累积快照事实表。 1.1 事务事实表 也称原子事实表,描述业务过程,跟踪控件或时间上某点的度量事件,保存的是最原子的数据; 个人理解:类似于mysql binlog日志,每一次相关的 change 都记录下来,生成一行新的数...

someInNeed的博客 3013

数据仓库维度建模设计

文章目录1. 维度建模基本概念1.1. 维度表(dimension)1.2. 事实表(fact table)2. 维度建模三种模式2.1. 星型模式2.2. 雪花模式2.3. 星座模式3. 本项目中数据仓库的设计3.1. 事实表设计3.2. 维度表设计 1. 维度建模基本概念 维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。数据集市可以理解...

bitmao888的博客 4374

数据仓库——事实表

累积快照事实表用来跟踪通过一系列处理步骤的个体项的进展情况,用于研究多数过程中里程碑或者事件的经过时间。事实表快照在确定的时间间隔中对问题的度量进行抽样,这样就可以容易地研究问题的度量值,而不需要聚集长期的事务历史。状态度量,通常可以从事务历史中构造出来,然而如果事务历史延伸到很远的过去,或者必须计算许多事务的状态,监控状态将是低效的办法。间隔时间的研究要求关联多个状态,在事务模型中,每个状态变化都将记录在事实表的不同行中。: 度量一系列事务的效果称为状态度量,当状态度量很重要时,事务事实表是无效率的。

a1473227656的博客 2004

事实表与维度表

事实表(Fact Table)是指存储有事实记录的表,如系统日志、销售记录等;事实表的记录在不断地动态增长,所以它的体积通常远大于其他表。 维度表(Dimension Table)或维表,有时也称查找表(Lookup Table),是与事实表相对应的一种表;它保存了维度的属性值,可以跟事实表做关联;相当于将事实表上经常重复出现的属性抽取、规范出来用一张表进行管理。常...

我的祖传代码 2万+

什么事LLVM和Clang?Clang与GCC有什么区别?Clang如何使用?

这个问题主要讲Xcode编译器的认知,在学习iOS之前有必要学习一下Objective-C的编译环境。 在了解LLVM和Clang之前,先得了解一下什么是编译器。 编译器是一种计算机程序,它将某种编程语言(高级编程语言)写成的源代码转换成另一种编程语言(低级编程语言)。一个现代编译器的主要工作流程为:源代码->预处理器->编译器->目标代码->链接器->可执行程序...

Welcome~ 9724

数据仓库基本概念-事实表的三种分类

1      事实表分类 在数据仓库领域有一个概念叫Transaction fact table,中文一般翻译为“事务事实表”。事务事实表是维度建模的数据仓库中三种基本类型事实表中的一种,另外两种分别是周期快照事实表和累积快照事实表。 事务事实表与周期快照事实表、累积快照事实表使用相同的一致性维度,但是它们在描述业务事实方面是有着非常大的差异的。 1.1     事务事实表 事务事实表记录

5140

电商产品组合策略:引流品与利润品的实战方法论

在电商运营中,产品组合策略是提升流量转化与利润增长的核心技术。其基本原理是通过数据化选品构建产品矩阵,利用引流品吸引用户流量,再通过利润品实现商业变现。这种策略不仅能优化广告投放的ROAS(广告投入产出比),还能显著提升客单价。技术实现上需要结合Google Analytics等工具进行归因分析,并运用动态库存管理模型控制风险。该方案特别适用于Amazon、Shopify等电商平台,能有效解决跨境电商业内流量获取与利润创造的平衡难题。通过实战案例可见,合理的产品组合可使客单价提升30-50%,是电商运营必备

weixin_42522009的博客 350

大数据治理域——事实表设计

本文详细介绍了数据治理域中的事实表设计。首先阐述了事实表的基本概念,包括其定义、粒度、关键特征、结构组成以及分类。接着通过订单事实表结构的例子,生动展示了事实表的实际应用。事实表是存储业务过程或事件中度量值的数据库表,以业务事件为中心,具有明确的粒度和可加性等特点,通常包含外键、度量指标等字段,可分为事务型、周期快照型和累积快照型三种。

庄小焱 1118

软件工程导论考试通关秘籍:太原理工大学历年真题解析(附答案)

本文为太原理工大学《软件工程导论》考试提供高效备考指南,通过解析近六年真题,揭示高频考点如软件生命周期、UML建模和结构化设计等核心模块的命题规律。文章提供真题拆解、实战策略和避坑指南,帮助考生掌握图形转换题和简答题的应答技巧,助力考试通关。

weixin_29233333的博客 227

从Mule ESB到Apache Camel:手把手教你设计一个轻量级企业集成框架的‘心脏’

本文深入探讨了从Mule ESB到Apache Camel的轻量级企业集成框架设计实践,对比了两者在协议支持、消息处理能力和部署灵活性等方面的差异。通过实际代码示例和性能优化技巧,帮助开发者构建高效的核心模块,适用于现代微服务架构下的系统集成需求。

weixin_28738165的博客 375

事实表和维度表是怎么造数据_数据仓库建模——维度表、事实表与星型模式

一、维度建模的基本概念维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。它本身属于一种关系建模方法,但和在操作型数据库中介绍的关系建模方法相比增加了两个概念:1. 维度表(dimension)表示对分析主题所属类型的描述。比如"昨天早上张三在京东花费200元购买了一个皮包"。那么以购买为主题进行分析,可从这段信息中提取三个维度:时间维度(昨天...

weixin_39959505的博客 994

手把手带你搭建一个语音对话机器人:5分钟定制个人AI小助手

通过本文的简单步骤,你已经掌握了如何用 Python 搭建一个语音对话机器人。我们使用了实现语音识别,利用 OpenAI API 生成对话内容,并通过gTTS将文本转换为语音。整个流程非常简洁,你可以根据自己的需求进一步扩展机器人功能,甚至将其集成到实际的应用场景中。

小蜗牛的珍贵百宝箱 4805

数据仓库--事实表和维度表

数据仓库的物理模型较常见的操作型数据库的物理模型有很大不同。最明显的区别是:操作型数据库主要是用来支撑即时操作,对数据库的性能和质量要求都比较高,为了防止“garbage in,garbage out”,通常设计操作型数据库的都要遵循几个范式的约束,除非少数情况下为了性能进行妥协,才可能出现冗余。而数据仓库的建立并不上为了支撑即时操作,或者说,数据仓库的数据是来源于即时操作产生的数据,而不是直接来

DavidWang9527的专栏 2万+

SOI技术解析:绝缘体上硅的结构优势与应用场景

本文深入解析了SOI(绝缘体上硅)技术的核心结构、性能优势与应用场景。SOI通过在硅衬底与器件层之间引入绝缘的埋氧层,实现了优异的电隔离,从而显著降低芯片功耗、提升工作频率并增强抗干扰能力。该技术已广泛应用于5G射频前端、高性能计算、汽车电子及MEMS传感器等关键领域,是推动半导体性能持续提升的重要技术路径。

jj890的博客 403

小程序 video 控制器外观调整_Kessil 360X Tuna Sun无线控制器使用分享

之前分享了Kessil 360X Tuna Sun开箱记录,时间关系,没来得及使用WiFi Dongle无线控制器。昨晚抽空实操了一下,做个操作记录,希望对大家有参考Kessil无线模块操作指南官方视频英文教程配中文字幕,非常详尽语速较快,重点位置可以暂停操作点击边框调出视频工具条1、拆包取控制器,保存二维码Kessil WiFi Dongle包装打开包装就能看到Kessil无线控制模...

weixin_39759060的博客 4734

BI中事实表和维度表的定义

    一个典型的例子是,把逻辑业务比作一个立方体,产品维、时间维、地点维分别作为不同的坐标轴,而坐标轴的交点就是一个具体的事实。也就是说事实表是多个维度表的一个交点。而维度表是分析事实的一个窗口。         首先介绍下数据库结构中的星型结构,该结构在位于结构中心的单个事实数据表中维护数据,其它维度数据存储在维度表中。每个维度表与事实数据表直接相关,且通常通过一个键联接到事实数据

b00140045的专栏 433

让 SAP HANA 查询飞起来:彻底避开隐式类型转换的性能暗礁

SAP HANA性能优化:警惕隐式类型转换陷阱 隐式类型转换是SAP HANA项目中常见的性能隐患。当SQL表达式两侧数据类型不匹配时,系统会自动进行类型转换,这种看似便利的操作可能导致: 过滤条件无法下推,扫描范围扩大 列存引擎优势丧失,触发中间结果物化 执行计划走向低效路径 治理方案包括: 从源头统一数据类型,确保常用比较字段类型一致 将显式转换应用于常量而非整列 使用生成列预先转换存储,避免运行时计算 排查方法: 通过SQL Plan Cache定位高频查询 分析执行计划中的转换迹象 重点关注VARC

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 11万+

【HBZ分享】数仓里面的概念-宽表-维度表-事实表概念讲解

数仓概念 1. 度量值: 可被统计的,比如:次数,销量,营销额,订单表中的下单金额等可以统计的值叫度量值 2. 维度表: (1). 对事实描述的信息,每一张表都对应现实世界中的一个对象或概念,比如:用户,商品,日期,地区维度 (2). 比如要分析商品的销售情况如何,就可以从商品类型,或者地区销售情况来进行分析 (3). 所谓维度,其实就是从什么角度进行分析 比如从用户的角度, 比如从商品类型,每种类型商品的销售量等 比如

a645293829的博客 3836

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【大数据】数据仓库维度建模入门

对数据分析越来越深入,越来越发现数据标准化的重要性,再高明的数据分析技术,没有规范统一的数据仓库,也是“巧妇难为无米之炊”。遂从头再对数据仓库技术进行一边梳理。   1. 维度建模理论概要 1.1 维度设计的主要流程 1.1.1 选择业务过程 业务过程是组织完成的操作性活动,例如:获得订单、处理保险索赔、学生课程注册或每个月每个账单的快照等。业务过程事件建立或获取性能度量,并转换成事实表...

探索世界,改变世界 3056

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

12 数据仓库理论

数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储之后,数据才能高性能、低成本、高效率、高质量的使用。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计。其包含与该业务过程有关的维度引用以及该业务过程的度量。事务型事实表用来记录各个业务过程,保存各业务过程原子操作事件,即最细粒度的操作事件。粒度是指事实表中一行数据所表达的业务细节程度。

qq_41758289的博客 957

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Z05 - 019、模块开发:数据仓库设计 - 维度建模基本概念

0、 初学耗时:0.5h 注:优快云手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。 一、   1.1    1.2  记忆词:   离线数据分析  ギ 舒适区ゾ || ♂ 累觉无爱 ♀ 一、   1.1 ~    1.2 ~      1.2.1 .       1.2.2 .   烟锁池塘柳。 - - - ...

吾心持剑,剑锋披靡 321

B. 数据仓库 --- 建模技术 --- 基本概念

B. 数据仓库 — 建模技术 — 基本概念 基本概念 收集业务需求与数据实现 协作维度建模研讨:需要业务经验丰富的领域专家参与 维度设计 基于关系型数据的星型模式与OLAP多维数据库 事实表 事实表结构 一行对应一个度量事件 外键,用于关联与之相关的维度,也包含可选的退化维度和日期/时间戳 操作特性 可加性度量:按照与事实表关联的任意维度汇总 半可加性度量:对某些维度汇总,但不...

micklongen的专栏 325
上一篇: 建模核心概念
下一篇: mysql学习总结(二)进阶内容
piepis
博客等级 码龄10年 104粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

piepis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值