Database 事实表和维度表之间的区别?
在阅读一本关于业务对象的书时,我遇到了术语-事实表和维度表 我试图理解维度表和事实表之间的区别是什么 我在网上读了几篇文章,但我不太明白Database 事实表和维度表之间的区别?,database,data-warehouse,business-intelligence,fact-table,Database,Data Warehouse,Business Intelligence,Fact Table,在阅读一本关于业务对象的书时,我遇到了术语-事实表和维度表 我试图理解维度表和事实表之间的区别是什么 我在网上读了几篇文章,但我不太明白 任何简单的例子都能帮助我更好地理解?这是对以下部分的回答: 我试图理解维度表是否可以是事实表 好还是不好 简短的回答(INMO)是否定的。这是因为创建这两种类型的表的原因不同。但是,从数据库设计的角度来看,维度表可以有一个父表,而事实表总是有一个(或多个)维度表作为父表。此外,事实表可以聚合,而维度表不聚合。另一个原因是事实表不应该就地更新,而维度表在某些情况
任何简单的例子都能帮助我更好地理解?这是对以下部分的回答: 我试图理解维度表是否可以是事实表 好还是不好 简短的回答(INMO)是否定的。这是因为创建这两种类型的表的原因不同。但是,从数据库设计的角度来看,维度表可以有一个父表,而事实表总是有一个(或多个)维度表作为父表。此外,事实表可以聚合,而维度表不聚合。另一个原因是事实表不应该就地更新,而维度表在某些情况下可以就地更新 更多详情: 事实和维度表出现在通常称为星型模式的模式中。星型模式的主要目的是简化一组复杂的规范化表,并将数据(可能来自不同的系统)整合到一个可以高效查询的数据库结构中 最简单的形式是,它包含一个事实表(例如:StoreSales)和一个或多个维度表。每个维度条目都有0,1个或多个与其关联的事实表(维度表的示例:地理、项目、供应商、客户、时间等)。维度具有父维度也是有效的,在这种情况下,模型的类型为“雪花”。但是,设计师试图避免这种设计,因为它会导致更多连接,从而降低性能。在StoreSales的示例中,地理维度可以由列组成(GeoID、ContentName、CountryName、StateProvName、CityName、StartDate、EndDate) 在雪花模型中,可以有两个规范化的地理信息表,即:内容表、国家表 你可以找到很多关于星型模式的例子。此外,请查看此项以查看星型模式模型的另一个视图。Kimbal有一个很好的论坛,您也可以在这里查看: 编辑:回答有关4NF示例的评论:
- 违反4NF的事实表示例:
- 不违反4NF的事实表示例:
阅读更多:维度表和事实表|维度表与事实表之间的差异这似乎是如何区分事实表和维度表的一个非常简单的答案 将维度视为事物或对象可能会有所帮助。这样的事 作为一种产品,它可以在不涉及任何业务的情况下存在 事件维度是你的名词。这是可以存在的东西 独立于商业活动,如销售。产品,员工,, 设备,是所有存在的东西。维度也可以 做了什么,或者做了什么 员工销售,客户购买。员工和客户就是这样的例子 尺寸,它们确实如此 产品出售时,它们也是尺寸,因为它们有一些东西 对他们做了什么 事实是动词。事实表中的条目标记离散事件 这发生在维度表中的某些内容上。产品销售 将记录在事实表中。销售活动将是 记录销售的产品、销售的员工以及 顾客买的。产品、员工和客户都是维度 描述了这一事件,销售 此外,事实数据表通常也具有某种定量属性 数据。销售数量、每件商品的价格、总价等 资料来源:
在数据仓库建模中,星型模式和雪花模式由事实表和维度表组成 事实表:
- 它包含维度和关联维度的所有主键 销售数量、销售金额和平均销售额等事实或指标(可进行计算的财产)
- 维度表为事实表中记录的所有度量提供描述性信息
- 与事实表相比,维度相对较小
- 常用的维度是人、产品、地点和时间
最简单的形式是,我认为维度表类似于“主”表,它保存了所有“项”的列表,所以