📜  事实表

📅  最后修改于: 2022-05-13 01:57:14.343000             🧑  作者: Mango

事实表

无事实证明的表格仅表示在没有补救措施可用的事实中可用的关键。 Factless事实表仅用于建立不同维度元素之间的关系。并且对于描述事件和覆盖率也很有用,这意味着表格包含什么都没有发生的信息。它通常代表多对多关系。

他们唯一拥有的是一个缩写的密钥。它们仍然代表由维度表中引用的组合识别的焦点现象。

无事实的事实表

无事实表有两种类型:
1. 事件跟踪表 –
使用无事实事实表来跟踪组织感兴趣的事件。例如,可以通过创建包含以下外键(即到维度表的链接)事件标识符发言人/娱乐标识符、参与者标识符、事件类型的事实表来跟踪文化活动的出席情况;日期。然后可以在该表中搜索信息,例如最流行的信息。哪种文化节目或节目类型。以下示例显示了一个无事实事实表,该表记录了学生每次参加课程的时间或哪个班级的出勤率最高?或者某门课程的平均出席人数是多少?所有问题均基于 COUNT() 和 group BY 问题。所以我们可以先计数,然后实现其他聚合函数,如 Aggress、Max、Min。

出席情况

2. 覆盖表 –
第二种类型的事实表被Ralph称为覆盖表。它用于支持负面分析报告。例如,要创建商店在特定时间段内没有销售产品的报告,您应该有一个事实表来捕获所有可能的组合。然后你可以找出缺少的东西。
无事实事实表的常见示例:
办公室的前访客。
网络点击人员列表。
跟踪学生出勤或注册事件。

更新维度表:



  • 每天都有越来越多的销售发生,因此越来越多的行被添加到事实表中。
  • 由于事实表的变化而进行的更新很少发生。
  • 与事实表相比,维度表更稳定。
  • 维度表的变化是因为属性本身的变化,而不是因为行数的增加。

渐变维度:

  • 随着时间的推移,尺寸通常是恒定的,但如果不是恒定的,那么它们会缓慢变化。记录的客户 ID 保持不变,但客户的婚姻状况或位置可能会随着时间而改变。
  • 在 OLTP 系统中,每当属性值发生这种变化时,旧值通过覆盖旧值来替换新值。
  • 但是在数据仓库中,覆盖属性并不是解决方案,因为始终需要用于分析的历史数据。
  • 因此,对属性进行此类更改有 3 种不同的类型——
  1. 类型 1 更改
  2. 类型 2 变化
  3. 类型 3 更改

大尺寸表:

  • 大维度表很深很宽。
  • 深意味着它有非常多的行,而宽意味着它可能有很多属性或列。
  • 为了处理大尺寸,可以根据兴趣从大尺寸中取出一些小尺寸。这些小维度可以以星型模式的形式表示。
  • 例如,上面提到的订单分析星型模式是制造公司的营销部门感兴趣的制造公司的小维度之一。
  • 客户和产品的维度一般都比较大。
  • 由于尺寸较大,大尺寸通常速度慢且效率低下。它们往往有多个层次结构来执行各种 OLAP 操作,如向下钻取或汇总。

快速变化的或大的缓慢变化的维度:

  • 在类型 2 更改中,使用已更改属性的新值创建一个新行。这将保留属性的历史或旧值。
  • 如果某些属性再次发生更改,则会在新值中再次创建新的维度表行。
  • 如果维度不经常更改,例如一年一次或两次,这是可行的。例如,具有数千行的产品维度很少更改,因此易于管理。
  • 但是在客户维度的情况下,行数有几百万,而且变化不频繁,那么类型2的变化是可行的,也不是很困难。如果客户维度变化很快,那么类型 2 的变化是有问题和困难的。
  • 如果维度表变化迅速且很大,则将该维度表分解为一个或多个较小的维度表。