热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

商业智能学习系统

在进行数据分析之前,我们必须了解相关的基础理论知识数据仓库的理论知识1:数据仓库的定义数据仓库是一个面向主题的、集成的、稳定的,反映历史变化的,随着时间的流逝发生变化的集合,它主要用来支持企业管理

在进行数据分析之前,我们必须了解相关的基础理论知识

数据仓库的理论知识

1:数据仓库的定义

  数据仓库是一个面向主题的、集成的、稳定的,反映历史变化的,随着时间的流逝发生变化的集合,它主要用来支持企业管理人员的决策分析

1.1 面向主题

根据原系统业务数据的特点进行主题的抽取和确定每个主题所包含的数据内容,例如典型的主题包括:客户主题、产品主题、财务主题等,而客户主题包括:客户基本信息、客户信用信息、客户资产信息等内容。在分析数据仓库主题的时候,一般的方法是先确定几个基本的主题,然后再将范围扩大,最后再逐步求精,如图3-2所示。

 
图3-2  面向主题的方法

1.2 集成性

面向操作型的数据库通常是异构的、并且相互独立,所以无法对信息进行概括和反映信息的本质。而数据仓库中的数据是经过源数据的抽取、清洗、转换、加载得到的,所以为了保证数据不存在二义性,必须对源数据进行编码的统一和必要的汇总,以保证数据仓库内数据的一致性。数据仓库在经历数据集成阶段后,使数据仓库中的数据都遵循统一的编码规则,并且消除许多冗余数据。

集成一般有如下两种形式:

(1)数据的集成

当数据从操作型数据传向数据仓库时,数据就会被集成,如图3-3所示。

 
(点击查看大图)图3-3  数据的集成

(2)编码的集成

当数据仓库是从原有分散的源数据库抽取出来的时候,为了消除编码的不一致性,需要将这些来自不同数据源的数据编码集成起来,使之遵循统一的编码规则,如图3-4所示。

 
图3-4  编码的集成

1.3 稳定性

数据仓库中的数据反映的都是一段历史时期的数据内容,它的主要操作是查询、分析而不进行一般意义上的更新,一旦某个数据进入到数据仓库后,一般情况下数据会被长期保留,当超过规定的期限时才会被删除。通常数据仓库需要做的工作就是加载、查询和分析,一般不进行任何修改操作,是为了企业高层人员决策分析之用,如图3-5所示。

 
图3-5  数据的加载

 

1.4 反映历史变化

操作型数据库主要反映某一时间段内的数据,而数据仓库的目标就是对企业的发展趋势作出分析和预测。数据仓库不断从OLTP数据库中获得变化的数据,从而形成分析和预测需要的历史数据,所以一般数据仓库中数据表的键码都含有时间键,以标明数据的历史时期信息,然后不断增加新的数据内容。通常来说,数据仓库包含的时间期限大概是5~10年,当超出规定的期限时,需要删除这些过时的数据。通过这些历史信息可以对企业的发展历程和趋势作出分析和预测。同时要清楚,数据仓库的建设需要大量的业务数据作为积累,并将这些宝贵的历史信息经过加工、整理,最后提供给决策分析人员,这是数据仓库建设的根本目的,如图3-6所示。

 
图3-6  操作型数据库和数据仓库的区别

 

数据仓库和数据库的区别

下面用一个图例来说明数据仓库与数据库的不同之处。数据库生产系统主要是面向应用的、事务型的数据处理,一般来说具有实时性较高,数据检索量较小,普通用户的数量较大等特点。而数据仓库系统主要面向主题的、分析型的数据处理,具有实时性要求不高,数据检索量较大,主要针对特殊的用户群体(一般是企业高层领导、决策分析人员等),用户的数量较小等特点。其中事务型和分析型处理数据是有区别的。事务型处理数据一般来说对性能的要求较为严格,数据是事务驱动的,主要面向应用,存储的一般都是即时性、细节性的数据,数据是可更新的。对于分析型处理数据,一般来说,对性能的要求较高,数据是分析驱动的,主要面向决策分析,存储的一般都是历史、汇总性的数据,数据是不可更新的。事务型处理数据和分析型处理数据的区别如图3-7所示。

 
图3-7  事务型处理数据和分析型处理数据的区别

数据库生产系统和数据仓库决策系统的区别如图3-8所示。

 
图3-8  数据库生产系统和数据仓库决策系统的区别

笔者认为:数据仓库是区别于一般数据库存储的另外一种数据组织方式。它以面向主题的形式进行数据存储,同时只有数据插入的操作,而没有数据更新和删除的动作。数据仓库实际上就是一个过程,而非某一个产品,不同的企业在构建数据仓库系统的时候,需要企业相关业务人员和数据仓库开发设计人员在各个部门的配合下共同建设。


推荐阅读
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了如何使用Power Design(PD)和SQL Server进行数据库反向工程的方法。通过创建数据源、选择要反向工程的数据表,PD可以生成物理模型,进而生成所需的概念模型。该方法适用于SQL Server数据库,对于其他数据库是否适用尚不确定。详细步骤和操作说明可参考本文内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • qt学习(六)数据库注册用户的实现方法
    本文介绍了在qt学习中实现数据库注册用户的方法,包括登录按钮按下后出现注册页面、账号可用性判断、密码格式判断、邮箱格式判断等步骤。具体实现过程包括UI设计、数据库的创建和各个模块调用数据内容。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
author-avatar
2233
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有