在阅读业务对象的书籍时,我遇到了术语事实表和维度表。
我试图理解维度表和事实表之间的区别是什么?
我在网上读了几篇文章,但我看不清楚。
任何简单的例子都能帮助我更好地理解?
发布于 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示例的评论:
销售事实(ID,BranchID,SalesPersonID,ItemID,Amount,TimeID)
AggregatedSales (BranchID,TotalAmount)
这里的关系是在4NF中。
最后一个例子并不常见。
发布于 2015-11-17 06:32:36
在数据仓库建模中,星型模式和雪花模式由事实和维度表组成。
事实表:
维度表:

图像源
发布于 2015-08-06 17:46:06
对于如何区分事实表和维度表,这似乎是一个非常简单的答案!
它可能有助于把维度看作事物或物体。像产品这样的东西可以存在,而不涉及业务活动。维度是你的名词。它是可以独立于商业活动之外存在的东西,例如销售。产品,员工,设备,都是存在的东西。一个维度要么做些什么,要么对它做些什么。 员工卖,顾客买。员工和客户是维度的例子,他们是这样做的。 产品销售,他们也是尺寸,因为他们做了一些事情。 事实,是动词。事实表中的条目标志着发生在维度表中的某件事情的离散事件。产品销售将记录在事实表中。销售的情况将由销售的产品、销售的员工和购买的客户来记录。产品、员工和客户都是描述事件、销售的维度。 此外,事实表通常也有某种数量的数据。数量,每件物品的价格,总价等等。
来源:http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/
https://stackoverflow.com/questions/20036905
复制相似问题