📜  星型图式设计的组成与分析

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

星型图式设计的组成与分析

星型模式的主要组成部分是什么?
星型模式有四个主要组成部分。下面列出了这些:

  1. 事实表
  2. 维度表
  3. 属性
  4. 属性层次结构。

让我们一一谈谈:

事实:

  1. 这些是数值。
  2. 代表业务活动的绩效度量。
  3. 示例:生产力、费用、销售额、利润、价格、数量。
  4. 事实也称为度量。它们存储在事实表中。

数值存储在事实表中,而文本存储在维度表中。数值给出了业务绩效的统计量度。销售数字比文字更容易理解,也很难用文字来描述销售。由于事实用于衡量业务的绩效,因此它们通常被称为度量。

什么是事实表?

  1. 事实表也称为明细表。
  2. 事实表是星型模式的中点。
  3. 事实表包含主键和事实或度量。

事实表由事实和键组成。这些是业务的主要细节。事实表显示业务绩效的摘要,称为明细表。它总是位于星型图的中心或中间。它被维度表包围。事实表的主键也是其中的一部分。

事实表的属性:

  1. 通过插入来自操作数据库的聚合数据来定期更新事实表。
  2. 在查询执行期间计算的事实称为指标。
  3. 每个事实表都有维度表。
  4. 事实表支持数据的汇总。
  5. 包含至少一个事实或衡量标准。
  6. 主键——所有维度表的主键并集。
  7. 事实表总是在 BCNF 中,但不是维度表。
  8. 事实表中的一行至少包含一个事实及其维度表的主键。
  9. 包含不同类型的措施:加法、半加法和非加法。
  10. 少列多行——相对较长且形状较窄的桌子。
  11. 事实表中单个记录的详细程度称为事实表的粒度。
  12. 最有用的事实是数字的、连续的价值和附加的。

销售数字是事实表的典型属性之一。所以,这个数字需要在一段时间后更新,比如每月或每季度。在星型模式中,维度表围绕着中心事实表。事实表总是至少有一个事实,否则它将不存在。它没有代理键,而是所有维度表的主键联合将成为事实表的主键。事实表始终采用 BCNF 的规范化形式。由于事实表具有主键和少量事实,因此它的属性数量较少,但行数较多。如果销售数据每天更新,那么事实表的粒度就是一天。

什么是维度表?

  1. 维度表包含一个主键和仅在决策过程中使用的那些属性。
  2. 示例:产品维度、位置维度、时间维度。
  3. 维度表通过主键到外键关系连接到事实表。
  4. 维度表支持过滤和分组。
  5. 维度通常是限定事实的描述性信息。

顾名思义,维度表包含业务实体的支持属性。每个维度表都由一个主键和必要的属性组成。客户表是维度表的一个示例。每个维度表都通过外键关系连接到事实表。

维度表的属性:

  1. 维度表称为查找表或引用表。
  2. 维度表未标准化。
  3. 包含一个主键,它构成事实表主键的一部分。
  4. 尺寸不会随时间变化或缓慢变化。
  5. 它们包含几行多列。
  6. 大多数星型模式都包含时间维度。
  7. 维度表不相互连接,而是使用 PK-FK 连接将每个维度表连接到事实表。
  8. 主键通常是代理键。

这些被称为参考表,因为它们支持存储在事实表中的事实。业务实体的摘要显示在事实表中,而维度表支持事实表。维度表未规范化,因为它会导致维度表分解为多个表。这将在模式中引入更多数量的连接,星型查询将变得更加复杂,执行将花费更长的时间。维度表与事实表连接,但彼此不连接,因为不需要这样做。代理键被添加到每个维度表中,用于唯一标识每条记录。

有哪些属性?

  • 这些是维度表中的列。
  • 客户维度表示例:客户姓名、年龄、性别、婚姻状况等。
  • 这些主要是描述性值。

属性是列名。对于客户表,准确描述客户的细节称为客户属性。客户的姓名、性别、年龄和婚姻状况是客户属性的几个例子。大多数情况下,这些是描述性值,例如名称和地址。

什么是属性层次结构?

  1. 属性可以按层次结构排列。
  2. 层级之间的关系为 N:1。
  3. 确定一系列功能依赖关系。
  4. 示例:产品 -> Product_type、Product_type -> 行业
  5. 时间维度层次结构:日期 -> 周 -> 月 -> 季度 -> 年。
  6. 位置层次结构:商店 -> 城市 -> 区 -> 州 -> 国家
  7. 属性层次结构用于分析各种聚合级别的数据,通常从更高的级别开始。
  8. 并非维度表的所有列都用于属性层次结构,有些列仅用于维度描述。

当我们想要更细或更粗粒度的信息时,属性层次结构很有用。我们可以找到特定季度发生的总销售额。如果存在时间层次结构,我们可以发现销售发生在同一季度的特定月份。如果层次结构仍然进一步下降,那么我们可以找到该月特定周发生的总销售额。同样,我们可以向上层级。并非所有维度表都必须具有属性层次结构。

各种数据聚合方式有哪些?

  • 属性层次结构定义了数据层次结构的方式。
  • Roll-Up – 获取层次结构中粒度更粗或更高级的数据。
  • 向下钻取——获取更细粒度的数据。

什么是星查询?

  • 星型查询是事实表和多个维度表之间的连接。
  • 这些是非常复杂的查询。
  • 需要很长时间才能执行。

在星型模式上执行的 SQL 查询称为星型查询。之所以使用名称星型查询,是因为我们在星型模式上使用该查询。星型模式包含事实表和维度表之间的许多连接,因此星型查询是一个复杂的查询。由于星型查询中存在许多连接关系,因此执行需要很长时间,即数小时。