尽管浏览了书籍和文章,但我无法找到以下具体答案。
OLAP 和 OLTP 的最小和最大规范化程度应该是多少?
我想,OLTP 的最小值是第三范式,OLAP 的最大值是第二范式。
我们能否提供详细信息来补充答案?
尽管浏览了书籍和文章,但我无法找到以下具体答案。
OLAP 和 OLTP 的最小和最大规范化程度应该是多少?
我想,OLTP 的最小值是第三范式,OLAP 的最大值是第二范式。
我们能否提供详细信息来补充答案?
一些 OLAP 采用数据仓库、数据集市或报告数据库的形式。一种设计采用星型模式的形式,由 Ralph Kimball 介绍。在星型模式中,事实表有时是 1NF,而维度表通常是 2NF。您可以分解维度表,使它们处于 3NF 甚至 BCNF 中,最终得到雪花模式。
一般来说,星型模式设计是一门足够严密的学科,因此您真的不考虑规范化或非规范化,而是考虑良好的星型设计。自然地,偏离规范化会导致更新异常,这会使您的 ETL 处理变得复杂。
星型模式实际上是一种在 SQL 平台上表示 Kimball 所称的维度模型的方式。这些结果对数据集市和报告数据库以及数据仓库很有用。
数据仓库的另一位创新者 William (Bill) Inmon 主张即使在进行 OLAP 时也要保持 3NF。Kimball 和 Inmon 都比我聪明,我不会试图告诉你哪个是对的。当我完成 OLAP 时,我倾向于跟随 Kimball,并取得了不错的效果。
在这两种情况下,最好的常识建议可能是第 5 范式(Bill Inmon 建议将 3NF 用于数据仓库,但我相信他的意思是 BCNF 或 5NF,因为 3NF 本身没有特别的优点)。
一些数据仓库实现使用 6NF。