我正在学习有关数据库仓库和数据建模的知识。我偶然发现了这个博客帖子。在“不同的模型有不同的目的”一节中,作者提到,根据业务的需要,可以有两种类型的数据建模:
然而,在这两个例子中,作者说建模是以3NF的形式进行的,我很困惑,3NF和星型模式都是如何在维模型中使用的。难道它们不应该是根本不同的吗?
最后,如果我理解正确的话,关系数据建模是针对OLTP系统进行的,维度是针对OLAP系统进行的,对吗?
发布于 2021-04-06 13:39:38
您提到的文章并没有在关系模型和维度模型中说“建模是以3NF形式完成的”。它只指出: 1)星型模式在维度模型中是常见的,2) 3NF模式也可以使用。这是一个过于简化的声明,但请记住,这篇文章的标题是“10分钟或更短时间内解释的数据建模”:)。
简而言之:维度建模、表建模和关系建模之间最大的区别是存储重复数据的度量。维度模型和表格模型包含(更多的)重复数据(非规范化),但这允许他们能够快速‘切片和骰子’。关系模型尽力只在模型中存储数据一次(规范化),允许快速事务处理。
一个不排除另一个。这一切都取决于哪种模式提供了最好的性能和最广泛的可能性。而这反过来又归结为使用正确的工具来做正确的工作。
这就引出了您的最后一个问题:关系模型通常存在于OLTP系统中,而维度(或表)模型通常存在于OLAP系统中。
https://dba.stackexchange.com/questions/289258
复制相似问题