JobPlus知识库 工程 电子通信 文章
高校就业数据仓库的研究

        1引言

        2010年研究生扩招,考研人数也创新高,达到140万。而2010年国家公务员考试,报考人数也历史性地达到了146万(指审查合格),考研热、考公务员热已经成为社会的焦点。而这成为社会热点原因就在于当前毕业生就业形势的严峻性,近年来,在国家对毕业生就业指导工作提出新要求的前提下,高校纷纷成立毕业生就业指导中心,但许多高校并未充分利用长期积累下来的海量的毕业生就业信息,数据仓库和数据挖掘技术的成熟发展,使得建立高校就业数据仓库,使用数据挖掘技术更好的指导高校就业工作成为了可能。为了使长期积累下来的大量数据不再闲置,而是在毕业生就业指导和决策上起到更积极更重要作用,利用SQL Server 2005相关组件及服务建立高校就业数据仓库是解决这一问题的有效途径。        

        2数据仓库技术

        数据仓库是一个面向主题的、集成的、时变的、和非易失的数据集合,支持管理部门的决策过程。要保证能够从数据仓库中挖掘出有用的知识,首先就是准确定义数据仓库主题,要从大量的原始数据中抽取出有关定义的问题的主题数据。数据仓库是基于多维数据模型的,这种模型将数据看作数据立方体的形式,数据立方体允许从多个维度对数据建模和观察.它由维和事实定义.维是关于一个组织想要保存记录的透视图或实体.每个维都有一个表与之相关联称为维表.主题用事实表表示。包括事实的名称或度量,以及每个相关维表的码。

        最流行的数据仓库模型是多维模型。这种模型可以以星形模型、雪花形模型或事实星座形模型形式存在。雪花模型是星型模式的变种,其中某些维表是规范化的,因而把数据进一步分解到附加的表中。结果模式图形成类似于雪花的形状[1]。雪花模型由一个事实表和多个维表(规范化的维表)构成。

        ETL(Extraction-Transformation-Loading)中文名称为数据提取、转换和加载。ETL技术的研究一直是近年来研究的热点问题,它能够改进数据质量,被广泛运用于决策支持系统和数据仓库系统中,其主要任务是从原始数据集中去除不一致的和错误的数据。目前,已有一些用于数据清洗的ETL工具提供了功能强大的软件平台,利用它们可以从各种数据源中对数据进行抽取、转换后加载到数据仓库中。ETL技术主要在数据仓库(Data Warehouse)、数据库中的知识发现(KDD)和总体数据质量管理(TDQM)这三个领域应用[2]。

        3高校就业数据仓库的构建过程

        3.1数据仓库的总体模型

        数据仓库的构建是相当复杂的,它结合了数据仓库的前端技术和很强的业务要求。因为数据源中的数据和正要建立的数据仓库的需求也许有很大的偏差。因此需要将数据源中的数据提取出来,填充到设计的数据仓库中,原始数据库中存储的是零碎的操作型的事务数据,而数据仓库中要的是经过转化和提炼过的统计数据,所以创建数据仓库要经过需求分析、维度建模、物理设计、ETL系统设计与开发等步骤,高校就业数据仓库建立的总体过程如下图:

        3.2业务需求分析

        数据仓库的创建过程可以利用软件工程的思想,在软件工程中,软件的需求分析是软件生存期中重要的一步,也是决定性的一步[3]。因此在数据仓库的创建过程中,业务需求分析也必须引起足够的重视。数据仓库创建是为数据挖掘和OLAP服务的,尽管最终会挖掘出什么样的知识,在数据仓库创建之初并不清楚,但挖掘的对象(即事实)是清楚的,这显然要求分析主题和业务流程。高校就业数据仓库的主题显然是高校毕业生就业数据分析,只有对数据仓库中该主题的数据进行挖掘、分析才能够对现有毕业生的升学、公务员考试抑或是就业做出合理的指导。

        3.3维度建模

        高校就业信息包括毕业时间信息,毕业类别信息,学生个人基本信息,地区信息,获奖信息,毕业生就业信息,毕业生成绩信息等。创建维度模型包括四个步骤(1)选择业务过程,也就是要选择建模的主题领域。(2)声明粒度,也就是要决定详细程度。(3)选择维度,主要是针对维度进行集体讨论,确定维度模型的粒度(4)标识事实,那标识由业务过程产生的事实或者度量。因此可以将毕业生就业信息作为事实表

        3.4物理设计

        开发物理模型的最好工具是诸如ERWin或者Visio之类的数据建模工具.这些工具能够对SQL Server数据库进行前向工程,并使在迭代设计阶段的早期的数据库容易修改[4].物理设计的步骤:(1)对高校就业数据库中的各个表进行代理键的设置,即在各个表中的主键上使用IDENTITY属性.(2)清除各个表中字符序列长度的定义,在物理设计阶段,通常只使用两个字符序列长度,用50表示字符串的名称,用100表示描述信息.(3)消除高校就业数据库中各个表中的空值,因为在构建数据仓库过程中要使用ETL技术消除空值数据.(4)给各个表设置常规事务列,比如设置高校就业数据库中每一个表中均有RowStartDate和RowEndDate列,用以表明维度行的有效日期范围.(5)根据实际需要设置索引和列约束条件.(6)对事实表进行分区,首先先使用create partition function 语法来定义分区,比如对时间表中的TimeKey代理键创建按年的分区可以使用语法: Create Partition Function PFYearly(int)

        As Range Right

        For Values (2008,2009,2010)

        GO

        接着要定义分区的方案,将每个分区确定其特定的物理存储位置.如:

        CREATE PARTITION Obtain_Employment PSYearly

        AS PARTITION PFYearly

        ALL TO (PRIMARY)

        Go

        (7)物理设计的最后一步是开发中间表.中间表是关系型数据表,用于ETL过程中保存数据.

        3.5ETL系统设计与开发

        ETL是数据仓库获得高质量数据的重要环节,它是数据仓库中数据的入口,一个设计良好,功能强大的ETL工具对于构建一个数据清洁,结构良好的数据仓库有着重要的意义[5]。高校就业数据的ETL系统开发步骤(1)创建高校就业数据的数据源及解决方案,然后定义高校就业数据的程序包模板,将模板程序保存为MyEmploymentPackage.(2)接下来是对事务型维度表进行维度的处理,通过Visio画出要处理维度的数据流图.利用Integration Services运行渐变维度向导,并删除重复数据。高校就业数据库中的所有维度表均通过这种方式进行维度处理。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
386人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

扫码APP

扫描使用APP

扫码使用

扫描使用小程序