Java教程

数据仓库理论知识

本文主要是介绍数据仓库理论知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一,数据仓库与数据集市

可以简单理解为数据仓库是面向整个企业,而数据集市是面向某个部门的。

数据集市的数据来自数据仓库,当然,如果没有数据仓库,数据集市的数据也可以直接取自业务数据库。
在这里插入图片描述

二,数据仓库分层

在这里插入图片描述
数据仓库分层并没有严格规定,是一种经验的积累和行之有效的数据仓库方案。

数据仓库分层的好处:

  • 化繁为简,把复杂的任务分解为多个较容易的任务
  • 减少重复工作,重用中间层
  • 隔离原始数据,原始数据是不可再生数据,要原样保存,以便可以在必要时重复计算

三,关系模型三范式

三范式是关系型数据库设计时要考虑的三条原则,主要是解决数据冗余问题。

要理解三范式,首先要搞清楚三个概念:完全函数依赖、部分函数依赖、间接函数依赖。

在这里插入图片描述

完全函数依赖

如图所示,学生课程分数可以由学号和课程名称推导得出,但不能由学号或者课程单独推导得出,课程分数是完全依赖于学号和课程名称的。

部分函数依赖

如图所示,学生课程分数可以由学号、学生名称、课程名称推导得出,但学生名称不是必须依赖的,课程分数是部分依赖于学号、学生姓名、课程名称的。

间接函数依赖

如图所示,通过学号可以推导得出学系,通过学系可以推导得出系主任,则系主任是间接依赖于学号的。

细想,在部分依赖的情景中,学生姓名就是冗余的,是可以不出现在当前表中的;在间接依赖的情景中,系主任就是冗余的,是可以不出现在当前表中的;

三范式就是基于函数依赖提出来的。

第一范式:列不可再分

下图举一个反例,商品列包含了名称和数量,违背了第一范式

在这里插入图片描述

第二范式:不能存在部分函数依赖

第三范式:不能存在间接函数依赖

可见,理解了函数依赖,三范式就是手到擒来。

这篇关于数据仓库理论知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!