简单的说下什么是数据仓库

一般的数据库是一个操作型的数据存储工具,比如一个学校的选课系统的数据库,学生选课系统由教务处建设和管理,主要用于课程的排课和学生的选课,教务处人员可以在选课系统中增加、修改、删除和查询排课信息,学生也可以在选课系统中对选课信息进行操作。由于该数据库面向的是选课,所以记录的是与课程安排与选课的信息,其数据库模型简化如下图所示:


与一般操作型的数据库不同的是数据仓库主要是面向查询操作,而且查询的数据来自于多个数据库系统。同样以一个学校为例,学校除了选课系统以外还有人力资源系统(HR系统)用于管理教师信息、学籍管理系统管理学生的学籍信息等。

HR系统是由人事处建设和管理的,主要保存与教师相关的信息,所以该系统中不会出现学生的信息,其系统数据库模型如下图所示:


学籍管理系统是由学生处建设和管理,数据库中保存了学生的学历、毕业去向、家庭情况等基本信息外还保存了学生每学期的考试成绩等信息。由于该系统关注的是学生,所以不会出现教师的信息,其系统数据库模型如下图所示:


由于不同的系统由不同的部门和人员建设和管理,保存了不同的信息,如果需要进行数据的联合查询,而查询的数据又存放在不同的数据库中,那么就需要将这3个系统数据库的信息集成在一起,放在一个数据模型中,形成数据仓库,以便对教师信息、学生信息和选课信息进行联合的查询,建立的数据仓库模型如下图所示:



例如要查询一次教师的培训是否对教师所教学生的成绩有影响,以便决定是否对教师进行下一步的培训,则只能在数据仓库中才能完成,因为教师的培训信息和学生的成绩是存放在不同的系统中,相互独立,查询单独的一个数据库是没办法完成的。

数据仓库与一般数据库比较,还有一个特点是记录了数据变更历史。在数据库中对数据进行的修改一般是直接在数据行上进行更新操作,所以只记录最新的数据结果,而数据仓库则会记录每天数据的变动情况,将变动之前的数据和变动后的数据都保存在数据仓库中,以便进行时间序列分析。

同样以学校的3个数据库和数据仓库为例,在HR系统中记录了每个教师的基本信息,其中一项是教师的职称。教师职称变动时只需在HR数据库中修改该教师的职称字段即可。如果要查询一个教授从刚开始的讲师到现在的教授不同的职称情况下所教学生的平均成绩情况,则需要从数据仓库中查出该教师每次职称变动的时间,然后统计每个时间段内该教师所教课程所教学生的平均成绩即可得出结果,而这个查询在HR数据库是没办法实现的。

时间: 2024-11-08 21:24:40

简单的说下什么是数据仓库的相关文章

纯CSS实现超简单的二级下拉导航菜单代码

本文实例讲述了纯CSS实现超简单的二级下拉导航菜单代码.分享给大家供大家参考.具体如下: 这是一款纯CSS菜单,二级下拉导航效果,是最简洁的CSS导航菜单,兼容性也很棒,IE7/8.火狐等都支持,而且它还是学习CSS菜单编写的典型教程,让你学会很多CSS技巧. 运行效果截图如下: 具体代码如下:   复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.

数据库-谁能把三范式简单的描述下,特别是第三范式

问题描述 谁能把三范式简单的描述下,特别是第三范式 拜托了.................................................................................................................. 解决方案 第三范式数据库:关于第三范式 解决方案二: 第一范式(1NF) 所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不

简单实用的下拉菜单(CSS+jquery)

原文 简单实用的下拉菜单(CSS+jquery) 没什么可以说的,直接上例子 html+jquery代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

JS+CSS实现简单的二级下拉导航菜单效果_javascript技巧

本文实例讲述了JS+CSS实现简单的二级下拉导航菜单效果.分享给大家供大家参考.具体如下: 这是一款CSS配合JavaScript实现二级下拉导航菜单,好像CSS要配合JS才能写出好效果来,本款菜单同样用到了JS,菜单目前支持两级,下拉导航是我们经常用的一种菜单形式,把这个修改一下你就能用了,结构挺简单,相信你会做好的. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-simple-2l-fade-down-menu-codes/

JavaScript实现非常简单实用的下拉菜单效果_javascript技巧

本文实例讲述了JavaScript实现非常简单实用的下拉菜单效果.分享给大家供大家参考.具体如下: 这是一款实用的JS下拉菜单,鼠标移上菜单就显示出二级菜单,是从其它网站上整理下来的,修改花了不少时间,现在去除了一些无用代码,更简洁了,而且代码兼容性似乎也表现不错,这款两级下拉菜单,基本是由CSS和JavaScript共同实现的,真的挺简洁实用. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-down-show-menu-code

使用XMLDataSource简单实现多级下拉菜单

xml|菜单|下拉   一年没有使用.NET, 以至于开始怀疑自己转变成Delphi程序员了.年初接到的项目,忙到九月份,稀稀拉拉的又到了元旦.一年的时间,变化的太多.VS.2005发布了,.NET framework也升级到了2.0,变化太多,微软又再变,什么时候才能稳定下来?这个速度,像我们这样的小Coder怎么跟的上啊.       ADP.NET 2.0 provides several distinct data source objects that are used to cons

简单介绍win7下搭建apache+php+mysql开发环境_php技巧

环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

使用hibernate自动在MYSQL中创建表,极其简单,改下配置文件。

通过程序,自己手动写建表语句挺麻烦的. 如下所示: <property name="hbm2ddl.auto">update</property> 将update改为create,然后运行JUNIT的单个方法,比如save()即可. 然后进入mysql查看建表语句: mysql> use hibernate; Database changed mysql> show create table teacher; +---------+---------

大数据下的企业数据仓库建设

为何要建数据仓库 数据仓库整体架构 数据仓库-分层                      数据仓库-STG层 数据仓库-ODS层 数据仓库-DWD层 数据仓库-DWS层 dws层示例                                      数据仓库-DWS层 数据仓库-DIM层 数据仓库处理流程 数据治理    数据平台整体架构 数据仓库建设的价值