【发布时间】:2017-12-01 13:22:04
【问题描述】:
据我所知,规范化是为了避免数据库中的不一致。
通过归一化我们:
- 减少数据冗余,并且
- 保护数据完整性。
这就是大多数 OLTP 数据库采用 3NF 的原因。
来自 OLTP 的不同数据库汇集在一个数据仓库中。 (DWH,OLAP)。 DWH 是非规范化的 (1FN),很明显它必须是这样的,因为 DWH 的主表有数百列。
通过该 DWH,我们可以构建多个数据集市,稍后我们将使用 BI 报告工具(Cognos、QlikView、BO ..)进行分析
问题在于 BI 报表的数据模型没有规范化。
这难道不是报告的冗余和数据完整性的问题吗?
【问题讨论】:
-
将数据仓库视为报表而不是数据库。此外,数据仓库不会受到与正常形式所关注的相同类型的异常的影响。通常,数据仓库会插入行,但不会更新或删除。
标签: data-warehouse business-intelligence olap database-normalization denormalization