【问题标题】:Normalization in OLAP and OLTPOLAP 和 OLTP 中的规范化
【发布时间】:2016-02-03 03:17:31
【问题描述】:

尽管浏览了书籍和文章,但我无法找到以下具体答案。

OLAP 和 OLTP 的最小和最大标准化程度应该是多少?

我想,OLTP 的最小值是第三范式,OLAP 的最大值是第二范式。

我们能否提供详细信息来补充答案?

【问题讨论】:

    标签: database-design normalization olap database-normalization oltp


    【解决方案1】:

    一些 OLAP 采用数据仓库、数据集市或报告数据库的形式。一种设计采用星型模式的形式,由 Ralph Kimball 介绍。在星型模式中,事实表有时是 1NF,而维度表通常是 2NF。您可以分解维度表,使它们处于 3NF 甚至 BCNF 中,最终得到雪花模式。

    一般来说,星型模式设计是一门足够严格的学科,因此您实际上不会考虑规范化或非规范化,而是考虑良好的星型设计。自然地,偏离规范化会导致更新异常,这会使您的 ETL 处理变得复杂。

    星型模式实际上是一种在 SQL 平台上表示 Kimball 所称的维度模型的方式。这些对数据集市和报告数据库以及数据仓库非常有用。

    William (Bill) Inmon 是数据仓库的另一位创新者,他主张即使在进行 OLAP 时也要保持 3NF。 Kimball 和 Inmon 都比我聪明,我不会试图告诉你哪个是对的。当我完成 OLAP 时,我倾向于跟随 Kimball,并取得了不错的效果。

    【讨论】:

      【解决方案2】:

      在这两种情况下,最好的常识建议可能是第 5 范式(Bill Inmon 建议将 3NF 用于数据仓库,但我相信他的意思是 BCNF 或 5NF,因为 3NF 本身没有特别的优点)。

      一些数据仓库实现使用 6NF。

      【讨论】:

        猜你喜欢
        • 2014-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-01
        • 1970-01-01
        • 2017-07-18
        相关资源
        最近更新 更多