可以简单理解为数据仓库是面向整个企业,而数据集市是面向某个部门的。
数据集市的数据来自数据仓库,当然,如果没有数据仓库,数据集市的数据也可以直接取自业务数据库。
数据仓库分层并没有严格规定,是一种经验的积累和行之有效的数据仓库方案。
数据仓库分层的好处:
三范式是关系型数据库设计时要考虑的三条原则,主要是解决数据冗余问题。
要理解三范式,首先要搞清楚三个概念:完全函数依赖、部分函数依赖、间接函数依赖。
如图所示,学生课程分数可以由学号和课程名称推导得出,但不能由学号或者课程单独推导得出,课程分数是完全依赖
于学号和课程名称的。
如图所示,学生课程分数可以由学号、学生名称、课程名称推导得出,但学生名称不是必须依赖的,课程分数是部分依赖
于学号、学生姓名、课程名称的。
如图所示,通过学号可以推导得出学系,通过学系可以推导得出系主任,则系主任是间接依赖
于学号的。
细想,在部分依赖的情景中,学生姓名就是冗余的,是可以不出现在当前表中的;在间接依赖的情景中,系主任就是冗余的,是可以不出现在当前表中的;
三范式就是基于函数依赖提出来的。
下图举一个反例,商品列包含了名称和数量,违背了第一范式
可见,理解了函数依赖,三范式就是手到擒来。