美文网首页Big Data编程技巧js css html
宽表、窄表、维度表、事实表

宽表、窄表、维度表、事实表

作者: AC编程 | 来源:发表于2023-02-08 09:44 被阅读0次

一、概念

  • 宽表:把多个维度的字段都放在一张表存储,增加数据冗余是为了减少关联,便于查询,查询一张表就可以查出不同维度的多个字段。

  • 窄表:和我们MySql普通表三范式相同,把相同维度的字段组成一张表,表和表之间关联查询其他维度数据。

  • 维度表:包含维度编码和该维度下的多个属性。

  • 事实表:包含一个业务事件的相关属性。

二、宽表

2.1 宽表概念

宽表,顾名思义,就是比普通的数据表宽的表,比如数据库表一,在数据库中是五个字段,表二是四个字段,宽表就是把这两个有业务联系的表通过关联字段弄到一个大表中,这样列数自然就变多了,表也就宽了,所以就有了宽表。

2.2 为什么要用宽表

业务人员在做数据分析时,所需要的数据往往会存储在数据库的多张数据表中,比如订单表中存储了订单编号、商品编号、订购日期等,商品表中存储了商品名称、单价等商品信息,如果要同时查看订单和商品信息,业务人员不知道数据结构,也很难做表间关联,所以就要技术人员将两个表提前关联好形成宽表。

在olap技术发展过程中主要有MOLAP和ROLAP两种形式,MOLAP中的数据文件通常叫做“CUBE”,这个名字大家都比较熟悉了,一般是各个olap产品自己的数据文件格式。而随着数据库性能的提升,ROLAP 产品逐渐流行起来(本文后续用到的产品润乾报表就是一个典型的 ROLAP 产品),ROLAP 中数据保留在关系数据库的事实表中,在使用用途上来说宽表约等于 CUBE。

通过宽表的使用,既能解决多维分析时多表的关联问题又能提高数据查询的速度和分析操作的便捷性。

2.3 宽表的生成

要基于上述业务表生成如下宽表,用来分析销售数据:

宽表

此时业务数据通常来自同一个数据库,那么可以直接通过一个 sql 语句生成:

CREATE TABLE oders_analyse AS (SELECT o.orderid,
    o.amount,
    o.discount,
    p.proname,
    p.price,
    b.typename,
    s.sipname,
    s.linkname,
    k.stockamount FROM
    orders o
        LEFT JOIN
    product p ON o.proid = p.proid
        LEFT JOIN
    proctype b ON p.protype = b.typeid
        LEFT JOIN
    supplier s ON p.supid = s.supid
        LEFT JOIN
    stock k ON o.proid = k.proid)

如果是异构数据库,那么还需要 ETL 工具进行处理。

三、维度表

维度表

四、事实表

事实表

相关文章

  • 宽表、窄表、维度表、事实表

    一、概念 宽表:把多个维度的字段都放在一张表存储,增加数据冗余是为了减少关联,便于查询,查询一张表就可以查出不同维...

  • To Be 宽表 or 窄表 ?

    一、宽表和窄表的区别 宽表:从字面意义上来说,就是比较"宽"的表,也就是说字段比较多,通常是指业务主题相关的指标、...

  • 数仓建模—宽表的设计

    宽表的设计 其实宽表是数仓里面非常重要的一块,前面我们介绍过了维度表事实表,今天我们介绍一下宽表,前面我们说过了数...

  • 数据仓库(08)数仓事实表和维度表技术

    所谓的事实表和维度表技术,指的就是如何和构造一张事实表和维度表,是的事实表和维度表,可以涵盖现在目前的需要和方便后...

  • 数据仓库的学习

    事实表、维度表、维度、度量 事实表:一般为具有可统计量化的信息的表。如订单表适合作为事实表,其中有订购数量、订单金...

  • 事实表和维度表

    这是知识星球上一个朋友的问题和回答,分享如下: 问:设置模型的关键是什么呢?我有几个疑惑1、所有要计算的维度都必须...

  • 维度表和事实表

    维度表 维度表:一般是对事实的描述信息。每一张维表对应现实世界中的一个对象或者概念。例如:用户,商品,日期,地区等...

  • 事实表与维度表

    前文介绍了一维表和二维表的异同及相互转换 今天再来解释一下事实表与维度表 先来看下表。回忆下,这是一维表二维表? ...

  • 维度表与事实表

    维度表 维度表:一般是对事实的描述信息。每一张维表对应现实世界中的一个对象或者概念。 例如:用户、商品、日期...

  • 数据仓库-高级事实表技术-读书笔记五

    事实表代理键1,可以用作所有维度表的主键2,单列代理事实键,不与任何维度关联的事实表代理键作用一:作为事实表的唯一...

网友评论

    本文标题:宽表、窄表、维度表、事实表

    本文链接:https://www.haomeiwen.com/subject/sfffkdtx.html