Adi*_*tya 8 reporting data-warehouse database-normalization business-intelligence
我对事实表进行了一些研发,无论它们是标准化还是非标准化.我遇到了一些令我困惑的发现.
根据Kimball的说法:
维度模型结合了规范化和非规范化表格结构.描述性信息的维度表在同一个表中具有高度非规范化,具有详细和分层的汇总属性.同时,具有性能指标的事实表通常是标准化的.虽然我们建议不要在单独的表中使用snowflaked维度属性进行完全规范化(为业务用户创建类似暴雪的条件),但是在同一个表中同时包含度量和描述的单个非规范化大型宽表也是不明智的.
我认为另一个发现,我认为是好的,来自GeekInterview的fazalhp:
DW的主要基础是对数据进行去规范化,以便报告工具更快地访问...因此,如果你构建一个DW ..90%,它必须被去规范化,当然事实表必须被规范化. ..
所以我的问题是,事实表是规范化的还是非规范化的?如果这些中的任何一个如何以及为什么?
从关系数据库设计理论的角度来看,维度表通常属于 2NF,事实表则介于 2NF 和 6NF 之间。
然而,维度建模本身就是一种方法,适合:
一个用例,即报告
主要是查询的一种基本类型(模式)
一个主要用户类别——业务分析师或类似用户
行存储 RDBMS,如 Oracle、SQl Server、Postgres ...
一个独立控制的加载/更新过程(ETL);所有其他客户端都是只读的
还有其他 DW 设计方法,例如
Inmon’s——数据结构驱动
Data Vault——数据结构驱动
锚定建模——模式演化驱动
最重要的是不要将数据库设计理论与具体的设计方法混淆。你可以从数据库设计理论的角度来看待某种方法论,但必须单独研究每种方法论。