尽管阅读了书籍和文章,但我无法找到下面的具体答案。
OLAP和OLTP的最小和最大规范化程度应该是多少?
我认为,OLTP的最小值是第3范式,OLAP的最大值是第2范式。
我们能否详细说明以补充答案?
答案 0 :(得分:8)
某些OLAP采用数据仓库,数据集市或报告数据库的形式。一种设计采用Ralph Kimball引入的星型模式。在星型模式中,事实表有时为1NF,而维度表通常为2NF。您可以分解维度表,使它们处于3NF甚至BCNF,最终得到雪花模式。
一般来说,星型模式设计是一个足够严格的学科,所以你真的不会考虑归一化或非规范化,而是考虑好的星形设计。自然地,偏离规范化会导致更新异常,这会使ETL处理的生命变得复杂。
星型模式实际上是一种表示Kimball在SQL平台上称为维度模型的方式。这些对数据集市和报告数据库以及数据仓库都很有用。
另一位数据仓库创新者William(Bill)Inmon主张即使在进行OLAP时也要保持3NF。 Kimball和Inmon都比我聪明,而且我不打算告诉你哪一个是对的。当我完成OLAP时,我倾向于关注Kimball,效果很好。答案 1 :(得分:1)
在这两种情况下,最好的常识建议可能是第5范式(Bill Inmon建议数据仓库使用3NF,但我相信他真的意味着BCNF或5NF,因为3NF没有自己特别的优点)。
某些数据仓库实施使用6NF。