为什么说维度模型(DM/DW)大部分在 1NF 时是非规范化的?

Why is it said that dimensional models (DM/DW) are denormalized when most of them are in 1NF?

目前我正在使用维度建模/数据仓库/数据集市。

"Dimensional modeling"是数据仓库的数据模型。有两种基本模型:"star schema"和"snowflake schema"

维度建模用于 OLAP(联机分析处理)。

我一直在阅读有关维度建模和 OLAP 的内容,这种数据库被描述为 "denormalized."

但是因为我和他们一起工作,所以我在 1NF 中看到的所有数据结构总是最少的。我从未使用过完全非规范化的数据库结构。

那么问题来了,1NF 和 "denormalized?" 是同一个意思吗,如果不是,那为什么会有人这么说呢?

因为与更常用的关系模型(通常是 3NF+)相比,它是非规范化的。假设您的源系统正在使用 3NF+ 数据库,当您下降到 2NF 或 1NF 时,您正在去规范化。

这是一个很大的假设,并不总是正确的。许多系统都是建立在关系数据库上的,这些数据库并不真正遵循 3NF 模型。最近,一些系统根本不使用关系模型! (想想现在使用的所有 NoSQL 数据存储。)

除此之外,一种相当常见的数据仓库架构涉及创建一个从源加载的 3NF+ 数据仓库,然后对数据进行非规范化以创建从更规范化的模型加载的维度数据集市。在这种情况下,说你 "denormalising" 是有道理的。