【问题标题】:Why is it said that dimensional models (DM/DW) are denormalized when most of them are in 1NF?为什么说维度模型(DM/DW)大部分都在 1NF 中时是非规范化的?
【发布时间】:2026-01-24 16:40:01
【问题描述】:
目前我正在使用维度建模/数据仓库/数据集市。
“维度建模”是数据仓库的数据模型。有两种基本模型:“星形模式”和“雪花模式”
维度建模用于 OLAP(在线分析处理)。
我一直在阅读维度建模和 OLAP,这种数据库被描述为“非规范化”。
但由于我与他们一起工作,我看到所有数据结构总是最低限度地处于 1NF 中。我从未使用过完全非规范化的数据库结构。
那么问题来了,1NF 和“非规范化”的意思是一样的吗?如果不是,那为什么人们会这么说呢?
【问题讨论】:
标签:
database
normalization
data-modeling
data-warehouse
database-normalization
【解决方案1】:
因为与更常用的关系模型(通常是 3NF+)相比,它是非规范化的。假设您的源系统正在使用 3NF+ 数据库,当您下降到 2NF 或 1NF 时,您正在反规范化。
这是一个很大的假设,并不总是正确的。很多系统都是建立在关系数据库上的,这些数据库并不真正遵循 3NF 模型。最近,一些系统根本没有使用关系模型! (想想现在使用的所有 NoSQL 数据存储。)
除此之外,一种相当常见的数据仓库架构涉及创建一个从源加载的 3NF+ 数据仓库,然后对数据进行非规范化以创建从更规范化的模型加载的维度数据集市。在这种情况下,说你“反规范化”是有道理的。