‘壹’ 浅析数据仓库的构建方法
浅析数据仓库的构建方法
随着不同的管理信息系统(MIS)在企业不同部门的大规模应用及企业对数据管理不断提出新的要求,不仅要求能实现传统的联机事务处理,而且越来越多的要求是各种应用系统能够在企业不断积累的以及从企业外部获取的丰富信息资源的基础上,把这些分散的、不一致的、凌乱的信息资源加以利用,即更多地参与数据分析和决策支持,盯宽配由此出现了一种用于数据分析处理和决策支持的数据存储和组织技术,即数据仓库技术。
1、什么是数据仓库
数据仓库是面向主题的、集成的、具有时间特征的、稳定的数据集合,用以支持经营管理中的决策制定过程。数据仓库提供用户用于决策支持的当前和历史数据,这些数据在传统的操作型数据库中很难或不能得到。
面向主题是指数据仓库中的数据是按照一定的主题域进行组织。主题是一个抽象的概念,是指用户使用数据仓库进行决策时所关心的重点方面,一个主题通常与多个操作型信息系统相关。集成的是指数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
数据仓库的体系结构分数据源、数据转换、数据仓库、数据集市和用户几部分。数据源,包括企业内部的业务数据、遗留数据、其它业务系统数据及相关WEB数据等;数据转换是数据仓库构建的重要环节,主要是对各种复杂的数据源进行抽取、转换、装载及其他处理,同时要实现数据质量跟踪监控以及元数据抽取与创建等工作;数据仓库主要实现对各种数据的组织、存储及管理等;数据集市是为不同业务而单独设计的数据仓库系统,即开发者为企业内部的不同用户群定制特殊的数据仓库子系统。用户部分,即具体面向使用者的应用部分,主要是指数据仓库存取与检索为用户提供了访问数据仓库或数据集市的功能,其中分析与报告为用户使用数据仓库提供了一组工具,用于帮助用户对数据仓库或数据集市进行联机分析或数据挖掘等。
2、数据仓库构建方法
2.1 普通数据仓库构建方法。对于普通数据仓库的构建,企业在对整个系统的建设综合各种因素的基础上,将整个项目的实施分阶段、分步骤实施,可以在每一阶段建设的基础上分阶段纳入不同的业务系统,逐步建立起一个综合的、专题较为完善的、适合部门、子单位使用的完整的数据仓库系统,从而才能使投资尽快获得收益。
在数据仓库的构建过程中,利用模糊数学可实现数据仓库内数据的语义表示,丰富数据加工的手段,提高分析处理的能力。数据仓库的构建,一般采取先构建数据集市,最后将各个数据集市整合在一起形成数据仓库的渐进模式;通过概念层、逻辑层、物理层建模,确定相关主题域的数据集市并对其进行联机分析处理。构建数据仓库模型一般采用以下几种:
2.1.1 星型模型:凯指星型模型是最常用的数据仓库设计结构的实现模式。使数据仓库形成了一个集成系统,为用户提供分析服务对象。该模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。[page] 2.1.2 星系模型(也称雪花模型):雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。同时也是对星型模型的扩展,每一个维巧升度都可以向外连接到多个详细类别表。在实际应用中,用户的需求多种多样,数据来源可能为多个事实表,故可采用多个事实表共存,之间通过公用的维表相关联的星系模型,也称为事实星座。
2.1.3 原子级数据模型和汇总级数据模型并存:坚持原子级数据模型和汇总级数据模型并存,而且要尽可能地细化原子级数据。
2.1.4 设立代理键:代理键是维表中一些没有业务含义的字段,只是一个由数据仓库加载程序时建立的数字。
2.2 空间数据仓库构建方法。随着GIS(地理信息系统)在各行业的广泛应用,最初面向事务处理为主的空间数据库信息系统已不能满足需要,信息系统开始从管理转向决策处理,空间数据仓库就是为满足这种新的需求而提出的空间信息集成系统。尤其是地理信息决策支持系统中,空间数据仓库系统显得尤为重要。
空间数据仓库具有普通数据仓库的普遍特征,但其本身有一些特殊性。并且空间数据仓也并不是空间数据库的简单集合。与空间数据库比,空间数据仓除支持数据库外,还支持数据文件、文本文件、应用程序等众多数据源;另外空间数据仓库中的数据有时间数据、空间数据、属性数据及异构数据等多种数据;其次空间数据仓库中还包括了数据处理规则、算法等;再次空间数据仓库的数据是对原始数据进行加工、处理、集成等转换,是对数据的增值和统一;空间数据库还引入了时间纵的概念,它是以时间为基准来管理数据,可以截取不同时间尺度上的信息,从瞬态到区段时间直到全体,空间数据仓库是依赖于时间维的数据结构,它可以根据不同的需要划分不同的时间粒度等级,以便进行各种复杂的趋势分析。当然,不言而喻,它还包含了空间维的方位数据。正因为空间数据仓库与普通数据仓库的不同,并且它以空间数据仓库完全不是相同的概念,一般空间数据仓库以如下体系结构分为四大功能模块,分别是源数据、数据变换工具、空间数据仓库、客户端分析工具。源数据它不仅指那些常见的空间数据库,还包括文件、网页、知识库、遗留系统等各种数据源。数据变换工具与具有普通数据仓库数据变换相同的提取转换功能,但它还包括了特有的空间变换等。空间数据仓库以立体、多维的方式来组织和显示数据。但最基本的空间维和时间维是其反映客观世界动态变化的基础,空间数据仓库技术最关键要点也就是时间维和空间维数据组织方式。目前空间数据仓库已成为国、内外GIS(地理信息系统)研究的热点并取得了较大进展。要把空间信息融合进企业现有的数据仓库中,在原有系统不作较大改动的前提下,一般采用三种模式构建企业空间数据仓库:(1)把空间信息作为多维模型中的空间维引入;(2)把空间信息作为研究主题引入;(3)在维和度量中都包含空间信息。因此,计算并存储所有空间度量是不现实的。一般使用空间索引树(如R-tree)在最细空间粒度上构建分组层次,作为空间维的分层,每个空间维需要建立一棵空间索引树。
3、结束语
总之,数据仓库构建是数据仓库技术的关键,数据仓库技术是一项基于数据管理和利用的综合性技术和解决方案,尤其是现在空间数据仓库在GIS 中的广泛应用,它成为数据库市场的新一轮增长点,同时也成为下一代信息系统的重要组成部分。
‘贰’ 如何创建数据库
什么是SQL呢 SQL就是专门用来做数据库的一门语言 和C语言差不多 (当然功能不紧紧是做数据了 编程啊 都可以..... 这里就不多说了)z这道题用ACCESS 就可以完成了
1 首先 用Access 2000(数据库 )做一个数据库 打开设计器创建表 在点菜单 另存为 名为班级名+自己名字英文简写 最后点保存啦 (每完成系统都是有提示的啦) 第一问 解决
2 打开设计器 上面做的表下面下
创建数据表 名字都是在最后完成时做的 先不用管 然后在输入sID,sName,sSex,sAge,sClass 注意根据后面的要求填写字段 及数据类型 以及
在做其他的问题了将T_Student表的sID字段设置为标识列,种子为1,增量为2。
为T_Student表的sSex(性别)字段设置其默认值为“男”。
为T_Student表的sAge(年龄)字段设置检查约束,规定年龄在0到30岁之间。
为T_KC表的cName(课程名称)字段设置唯一性约束。,规定课程名称不得重复。
生成一个规则t_rule,限制数据的取值范围在(0---100)之间,然后将这个规则绑定到T_CJ表的cj(成绩)字段。
为T_KC表的cName字段创建索引。
最后
当然主键当然是SID了 一定要标好哦~~·先不管作业其他要求
在依次做其他2个表;
T_KC(cID,cName,sBianhao,sXuefen)
T_CJ(sID,cID,cj) 注意主键是SID
3. 做好了三个表后退出设计器
在打开以一个个表 在按要求输入(在每个表中添加3-5条记录。)
好了 基本就完成了
当然用SQL 也能完成 这些问题 并且要快 但涉及到TQL语言 编程问题 很难说清楚 就不一一解释了···
‘叁’ oracle 就安装了软件,该怎么建立数据库
1、
下面要进行建库,使用命令dbca
[oracle@redhat4 ~]$ dbca
-bash: dbca: command not found
显示找不到命令
有dbca这个命令,但是找不到它,说明环境变量PATH设置有问题
设置环境变量PATH
[oracle@redhat4 ~]$ vi .bash_profile
在文件尾部加入下行
export PATH=$PATH:$ORACLE_HOME/bin:.
再重新登陆一下oracle用户,使环境变量生效。
[root@redhat4 install]# su - oracle
运行dbca命令
----
2、
成功启动 Database Configuration Assistant 数据库配置助手开始建库。
步骤1:操作
请选择希望执行的操作:
这个页面显示了我们通过dbca可以执行的操作
这里我们选 创建数据库
步骤2:选择创建数据库的模板
有一般用途、事务处理、定制数据库、数据仓库四种模板可供选择。
四种模板参数和内容有区别,而安装中的区别在后面的步骤9 数据库内容 页中的内容
一般用途 事务处理 数据仓库 三种模板在步骤9显示的是:
实例方案标签页,自己只能决定是否选择实例方案组件
定制数据库 模板在步骤9显示的是:
数据库组件标签页,可以自己选择组件,但是无法选择实例方案组件
这里我们选择 一般用途 模板
步骤3: 数据库标识
全局数据库名:jiagulun SID:jiagulun
步骤4: 管理选项
决定使不使用Enterprise Manager
em用java编写,用ie访问 如果选择了它我们可以使用基于ie的工具管理oracle
推荐生产中使用。
步骤5: 数据库身份证明
oracle建立中,在数据库内部默认会建很多用户
在这里只是学习,给这些用户设置相同的密码,设为oracle。实际生产中可分别设置,并要保证密码强度。
步骤6: 存储选项
生产中ASM和裸设备使用非常多,而且ASM用的越来越多,
学习中我们使用文件系统。
步骤7: 数据库文件所在位置
决定数据库建在文件系统的那个目录底下
这里是用 所有数据库文件使用公共位置:{ORACLE_BASE}/oradata
这里可以自己选择路径,但自己要记住,方便以后使用。
步骤8: 恢复配置
指定快速恢复区 按默认即可
步骤9:选上示例方案
学习中需要使用的一些案例,实际生产中没有用。
步骤10:初始化参数
oracle数据库是非常吃内存的一个软件,这里要设置oracle使用的内存大小
这些参数事后可以调整
但字符集以后最好不要再调了,这里设定后,就不要改变了,以后调可能会出现问题
数据库字符集选:ZHS16GBK-GBK 16位简体中文,建议选AL32UTF8,实际生产中这两种用的最多。
国外有企业分支机构可以选AL32UTF8
国家字符集选:AL16UTF16
其它默认
步骤11:数据库存储
决定oracle数据库的三类文件 控制文件、数据文件、重做日志组 的 存储位置
三类文件的内容,有什么意义,放到存储结构中讲。
步骤12:创建选项
选 创建数据库
点完成
最后的确认页:
确认自己在各步骤做的选择后,点 确定 开始创建数据库。
创建数据库完成后,Database Configuration Assistant 给出完成页面。
显示的是:
数据库创建完成。详细信息在:/u01/app/oracle/proct/10.2.0/db_1/cfgtoollogs/dbca/jiagulun 上的日志文件
数据库参数文件名:/u01/app/oracle/proct/10.2.0/db_1/dbs/spfilejiagulun.ora
Database Control URL 为:http://redhat4:1158/em
这里还可以点击 口令管理... 修改刚创建完成的oracle数据库当前所有已有用户的密码。
退出 后
数据库创建最终完成。
‘肆’ 使用PostgreSQL在Python中构建数据仓库
随着数据量的急剧增长,有效地管理和利用数据变得愈发重要。数据仓库作为一种高效的存储和分析工具,提供了强大的数据管理和操作能力,使数据利用更加高效。然而,构建数据仓库并非易事,需要考虑多个关键要素,如服务器、索引和仪表板。
在构建数据仓库时,首先需要选择一个强大的分布式数据库系统,以确保数据存储的稳定性和弹性。PostgreSQL,因其广泛的功能和用户友好性,成为众多开发者的首选。它不仅支持结构化数据,还能处理非结构化数据,如数组和二进制对象。PostgreSQL还拥有丰富的图形用户界面,便于动态管理和数据操作。
在我们的数据仓库实现中,使用本地PostgreSQL服务器作为数据存储中心。安装过程涉及配置用户名、密码和本地TCP端口。推荐使用pgAdmin 4进行服务器登录,它允许在浏览器中直观地管理数据库。
为了在Python中与PostgreSQL建立连接并操作数据库,需要安装SQLAlchemy包。该包提供了一种高效且灵活的方式来连接、查询和管理数据库。安装后,使用Python脚本创建连接,并设计表结构来存储记录和数组。表名需遵循PostgreSQL的命名规则,并通过主键字段确保数据的唯一性和检索效率。
为了实现数据仓库的完整功能,还应设计相应的接口,包括写入、更新、读取和列出数据的函数。在编写SQL查询时,应避免SQL注入,确保安全性。Streamlit是一个强大的Python库,用于构建交互式应用程序,适用于数据仓库的可视化和管理。利用Streamlit,可以创建一个直观的仪表板,允许用户标记、写入、读取、更新数据,并以图表形式可视化数据集。
通过整合PostgreSQL和Streamlit,可以构建一个功能完备的数据仓库,支持数据的全生命周期管理。这个数据仓库不仅支持单一数据结构的扩展,还提供实时数据可视化功能,方便用户理解数据模式和趋势。GitHub链接提供了详细的实现步骤和源代码示例,帮助开发者快速上手并部署数据仓库解决方案。