在阅读有关业务对象的书时,我遇到了术语事实表和维度表。
我想了解维度表和事实表之间的区别是什么?
我在互联网上阅读了几篇文章,但听不清。
有任何简单的例子可以帮助我更好地理解吗?
在阅读有关业务对象的书时,我遇到了术语事实表和维度表。
我想了解维度表和事实表之间的区别是什么?
我在互联网上阅读了几篇文章,但听不清。
有任何简单的例子可以帮助我更好地理解吗?
Answers:
这是为了回答这一部分:
我试图了解维表是否也可以是事实表?
简短的回答(INMO)为否。这是因为创建两种类型的表的原因不同。但是,从数据库设计的角度来看,维表可以有一个父表,而事实表总是有一个维表(或更多)作为父表。同样,事实表可以聚合,而维度表不聚合。另一个原因是事实表不应被适当地更新,而维度表在某些情况下可以被适当地更新。
更多细节:
事实和维度表以通常所说的星型图出现。星型模式的主要目的是简化一组复杂的标准化表,并将数据(可能来自不同系统)合并为一个数据库结构,可以非常有效地对其进行查询。
它以最简单的形式包含一个事实表(例如:StoreSales)和一个或多个维表。每个“维”条目都有与之关联的0,1或多个事实表(维表示例:地理位置,项目,供应商,客户,时间等)。尺寸具有父级也是有效的,在这种情况下,模型的类型为“雪花”。但是,设计人员试图避免这种设计,因为它会导致更多的联接,从而降低性能。在StoreSales的示例中,“地理”维度可以由列(GeoID,ContenentName,CountryName,StateProvName,CityName,StartDate,EndDate)组成
在Snowflakes模型中,您可以具有2个用于地理信息的标准化表,即:内容表,国家/地区表。
您可以在Star Schema上找到很多示例。另外,请检查一下以查看星型模型Inmon vs. Kimball的替代视图。Kimbal有一个不错的论坛,您可能也想在这里查看:Kimball论坛。
编辑:要回答有关4NF示例的评论:
销售事实(ID,BranchID,SalesPersonID,ItemID,Amount,TimeID)
汇总销售(BranchID,TotalAmount)
这里的关系在4NF
最后一个例子很少见。
在数据仓库建模中,星型模式和雪花模式由事实和维度表组成。
事实表:
尺寸表:
对于如何区分事实表和维度表,这似乎是一个非常简单的答案!
将维度视为事物或对象可能会有所帮助。诸如产品之类的东西可以存在而无需参与业务活动。维是您的名词。它可以独立于业务事件(例如销售)而存在。产品,员工,设备都是存在的东西。一个维要么做某事,要么做某件事。
员工出售,客户购买。员工和客户就是规模的例子,他们确实如此。
产品被出售,它们也是尺寸,因为它们已经完成了一些工作。
事实是动词。事实表中的条目标记了离散事件,该离散事件发生在维度表中。产品销售将记录在事实表中。销售事件将通过出售什么产品,哪个员工出售和哪个客户购买来记录。产品,员工和客户都是描述事件,销售的维度。
此外,事实表通常还具有某种定量数据。售出数量,每件价格,总价,等等。
来源:http: //arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/
从一个不太了解DB / DW术语的人的角度来看,我发现此答案更容易理解。
http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm
我建议先进行此操作,然后再进行Emmad Kareem的回答以获取更多详细信息。希望对您有所帮助。
阅读更多:尺寸表和事实表| 之间的区别 尺寸表与事实表http://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo
维度表:没什么,但是我们可以维护有关特征化日期的信息,称为维度表。
示例:时间维度,产品维度。
事实表:没什么,但是我们可以维护有关度量标准或预先计算数据的信息。
示例:销售事实,订单事实。
星型模式:一个事实表链接,其中维表形式为“开始模式”。