本文介绍了事实表是规范化形式还是非规范化形式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

无论事实表是规范化还是非规范化的,我都对事实表进行了一些研发。
我遇到了一些发现,这使我感到困惑。



根据:

我也认为可以的另一个发现,:

所以我的问题是事实表是规范化还是非规范化?如果有任何这些,怎么办?为什么?

解决方案

从关系数据库设计理论的角度来看,维度表通常位于2NF中,事实表通常位于2NF与6NF之间的任何位置。



但是,尺寸建模是 ,它专门针对:




  • 一个用例,即报告


  • 主要是查询的一种基本类型(模式)


  • 一个主要的用户类别-业务分析师或类似的


  • 行存储RDBMS,例如Oracle,SQl Server,Postgres ...


  • 一个独立控制的加载/更新过程(ETL);所有其他客户端都是只读的




还有其他DW设计方法,例如




  • Inmon的-数据结构驱动


  • 数据保管库-数据结构驱动


  • 锚点建模-模式演化驱动





I did a bit R&D on the fact tables, whether they are normalized or de-normalized. I came across some findings which make me confused.

According to Kimball:

The other finding, which I also I think is ok, by fazalhp at GeekInterview:

So my question is, are fact tables normalized or de-normalized? If any of these then how & why?

解决方案

From the point of relational database design theory, dimension tables are usually in 2NF and fact tables anywhere between 2NF and 6NF.

However, dimensional modelling is a methodology unto itself, tailored to:

  • one use case, namely reporting

  • mostly one basic type (pattern) of a query

  • one main user category -- business analyst, or similar

  • row-store RDBMS like Oracle, SQl Server, Postgres ...

  • one independently controlled load/update process (ETL); all other clients are read-only

There are other DW design methodologies out there, like

  • Inmon's -- data structure driven

  • Data Vault -- data structure driven

  • Anchor modelling -- schema evolution driven

The main thing is not to mix-up database design theory with specific design methodology. You may look at a certain methodology through database design theory perspective, but have to study each methodology separately.

这篇关于事实表是规范化形式还是非规范化形式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 07:28