首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事实表和维度表的区别?

事实表和维度表的区别?
EN

Stack Overflow用户
提问于 2013-11-17 22:16:23
回答 11查看 360.7K关注 0票数 181

在阅读业务对象的书籍时,我遇到了术语事实表和维度表。

我试图理解维度表和事实表之间的区别是什么?

我在网上读了几篇文章,但我看不清楚。

任何简单的例子都能帮助我更好地理解?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2013-11-17 23:36:04

这是为了回答以下部分:

我试图了解维度表是否也可以是事实表?

简单的回答(INMO)是No.That,因为创建这2种类型的表是出于不同的原因。但是,从数据库设计的角度来看,维度表可能有一个父表,而事实表总是以维度表(或更多)作为父表。此外,事实表可以聚合,而维度表则不进行聚合。另一个原因是事实表不应该在适当的地方更新,而维度表在某些情况下可以被适当地更新。

更多详细信息:

事实和维度表出现在一个通常被称为“星型”的表中。星型模式的一个主要目的是简化复杂的规范化表集,并将数据(可能来自不同系统)合并到一个数据库结构中,该结构可以非常有效地进行查询。

在其最简单的形式中,它包含一个事实表(例如: StoreSales)和一个或多个维度表。每个维度条目都有与其关联的0、1或多个事实表(维度表的示例:地理、项目、供应商、客户、时间等)。维度具有父级也是有效的,在这种情况下,模型类型为“雪花”。然而,设计人员试图避免这种设计,因为它会导致更多的连接,这种缓慢的性能。在StoreSales示例中,地理维度可以由列(GeoID、ContenentName、CountryName、StateProvName、CityName、StartDate、EndDate)组成。

在雪花模型中,您可以有2个用于Geo信息的规范化表,即: Content,Country Table。

您可以在星型模式上找到大量的示例。另外,请查看这一点,以查看星型模式模型Inmon诉Kimball上的另一个视图。金巴尔有一个很好的论坛,你可能也想看看这里:金球论坛

编辑:回答关于4NF示例的评论:

  • 例如,事实表违反了4NF:

销售事实(ID,BranchID,SalesPersonID,ItemID,Amount,TimeID)

  • 例如,事实表不违反4NF:

AggregatedSales (BranchID,TotalAmount)

这里的关系是在4NF中。

最后一个例子并不常见。

票数 60
EN

Stack Overflow用户

发布于 2015-11-17 06:32:36

在数据仓库建模中,星型模式雪花模式事实维度表组成。

事实表:

  • 它包含维度的所有主键和相关的事实或度量(是可以计算的属性),如销售量、销售量和平均销售额。

维度表:

  • 维度表为事实表中记录的所有度量提供描述性信息。
  • 与事实表的比较相比,维度相对较小。
  • 常用的尺寸是人、产品、地点和时间。

图像源

票数 449
EN

Stack Overflow用户

发布于 2015-08-06 17:46:06

对于如何区分事实表和维度表,这似乎是一个非常简单的答案!

它可能有助于把维度看作事物或物体。像产品这样的东西可以存在,而不涉及业务活动。维度是你的名词。它是可以独立于商业活动之外存在的东西,例如销售。产品,员工,设备,都是存在的东西。一个维度要么做些什么,要么对它做些什么。 员工卖,顾客买。员工和客户是维度的例子,他们是这样做的。 产品销售,他们也是尺寸,因为他们做了一些事情。 事实,是动词。事实表中的条目标志着发生在维度表中的某件事情的离散事件。产品销售将记录在事实表中。销售的情况将由销售的产品、销售的员工和购买的客户来记录。产品、员工和客户都是描述事件、销售的维度。 此外,事实表通常也有某种数量的数据。数量,每件物品的价格,总价等等。

来源:http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/

票数 155
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20036905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档