一种DataVault模型数据仓库自动构建的方法及装置的制造方法

文档序号:8543774阅读:647来源:国知局
一种Data Vault模型数据仓库自动构建的方法及装置的制造方法
【技术领域】
[0001] 本发明设及一种数据仓库的构建领域,具体设及一种化ta Vault模型数据仓库自 动构建的方法及装置。
【背景技术】
[0002] Data Vault是一种构建数据仓库的建模方法,无论数据在当时业务层面的对与 错,该种建模方法保留所有的历史数据。用该种建模方法构建的数据仓库称为企业级的数 据仓库,它包括了从企业各个数据库集成过来的所有的历史数据,它位于业务系统和数据 集市之间,也是数据集市的唯一数据来源。Data Vault是面向细节,可追踪历史的,它是一 组有连接关系的规范化的表的集合,该些表可W支持一个或多个业务功能。Data Vault只 按照业务数据的原样保存数据,不做任何解释、过滤、清洗、转换。Data Vault模型的主要组 成部分包括了中屯、表、链接表和附属表。中屯、表相当于业务实体表,包含业务实体的主键即 业务主键,链接表是链接业务实体的表,其中包含了中屯、表中的业务主键,用于将中屯、表链 接起来,代表了业务主键的业务关系。中屯、表和链接表是用于呈现业务实体和业务实体之 间逻辑关系的表,其包含的字段只有代理键和时间戳等信息,附属表则是依附于中屯、表或 者链接表,用于完成对业务实体或业务实体之间关系的信息的补充。企业数据仓库构建人 员需要在源数据库中寻找业务实体并将业务主键和业务主键之间的关系按照化ta Vault 的建模规范集合到中屯、表、链接表和附属表当中。
[0003] Data Vault模型所建立的数据仓库与构建普通的数据仓库最大的不同在于构建 的过程。原有的数据仓库直接构成数据集市,是面向主题的,需要在该个层面上给业务决 策人展现业务报表,于是它的数据仓库构建过程需要按照每一次不同的主题来进行数据抽 取、抓换和加载,数据抽取、转换和加载=项过程都会因主题的不同而有所变化。而企业数 据仓库是面向历史的,它构建的数据仓库是一种包含了所有历史信息,包括错误的和重复 的信息的数据仓库,它可W再经过数据处理来获得各个方面各个层面的报表,它不是直接 面向业务决策人员的,而它的内容非常灵活,而且不再依赖于源数据库。
[0004] 但是现如今的技术人员仍按照构建普通数据仓库的方式构建企业级数据仓库,即 目前的构建普通数据仓库的技术包括了先构建逻辑上的中屯、表、链接表和附属表,再根据 逻辑构建的表与表之间的关系,从源数据库中逐个抽取表的内容并建表。无法批量式构建 企业数据仓库,费时费力。
[0005] 鉴于上述缺陷,本发明创作者经过长时间的研究和试验,最终获得了本发明。

【发明内容】

[0006] 本发明的目的在于提供一种化ta Vault模型数据仓库自动构建的方法及装置,用 W克服上述技术缺陷。
[0007] 为实现上述目的,本发明采用的技术方案在于:
[0008] -方面提供一种化ta Vault模型数据仓库自动构建装置,该构建装置包括表查询 装置和建表装置,
[0009] 所述表查询装置,用于接收用户输入的中屯、字段组,所述中屯、字段组包括多个中 屯、字段,并对所述中屯、字段组进行处理后,输出总体信息表和中屯、字段关联信息表;所述总 体信息表记录有所述中屯、字段组中每一个中屯、字段W及该中屯、字段的主表和附表在源数 据库表中的表号信息,所述中屯、字段关联信息表记录有所述中屯、字段组中所有的中屯、字段 相互之间的逻辑关系;
[0010] 所述建表装置,用于接收所述总体信息表和中屯、字段关联信息表,通过分析处理 所述中屯、字段关联信息表得到中间表,再根据所述中间表得到中屯、字段组合信息表后,再 根据所述总体信息表自动创建中屯、表,根据所述中屯、字段组合信息表自动创建链接表,根 据源数据库表和所述中屯、表自动创建附属表,完成企业级数据仓库的构建。
[0011] 进一步,所述表查询装置包括第一初始化单元、捜索单元、判断单元、写入单元、匹 配单元和记录单元;
[0012] 所述第一初始化单元,用于对所述中屯、字段组进行初始化,并形成初始化中屯、字 段关联信息表;
[0013] 所述捜索单元,用于在源数据库表中寻找具有被捜索中屯、字段的表;
[0014] 所述判断单元,用于判断所述被捜索中屯、字段在具有所述被捜索中屯、字段的表 中是否为主键,如果是主键,则将具有所述被捜索中屯、字段的表作为所述被捜索中屯、字段 的主表;如果不是主键,则将具有所述被捜索中屯、字段的表作为所述被捜索中屯、字段的附 表;
[0015] 所述写入单元,用于将所述被捜索中屯、字段和具有所述被捜索中屯、字段的主表和 附表的信息写入所述总体信息表中;
[0016] 所述匹配单元,用于查询所述被捜索中屯、字段的附表,将用户输入的中屯、字段组 中其他中屯、字段与所述被捜索中屯、字段的附表进行匹配查询,若所述被捜索中屯、字段的附 表中有其他中屯、字段,则将其他中屯、字段设为所述被捜索中屯、字段的主动关联中屯、字段;
[0017] 所述记录单元,用于将所述初始化字段关联信息表中的所述被捜索中屯、字段所对 应的主动关联中屯、字段记录行置为一位二进制数1
[0018] 进一步,所述建表装置包括第一处理单元、第二初始化单元、第二处理单元和建表 单元;
[0019] 所述第一处理单元,用于读取所述中屯、字段关联信息表中的中屯、字段和中屯、字段 相互之间的逻辑关系后,经过分析处理后得到中间表;
[0020] 所述第二初始化单元,用于对所述中间表中的中屯、字段进行初始化,并形成初始 化中屯、字段组合信息表;
[0021] 所述第二处理单元,用于读取所述中间表,经过分析处理后得到中屯、字段组合信 息表;
[0022] 建表单元,用于根据所述中屯、字段组的中屯、字段的主表自动创建中屯、表,根据所 述中屯、字段组合信息表自动创建链接表,根据源数据库表和中屯、表自动创建附属表。
[0023] 进一步,所述第一处理单元分析处理过程具体为:设所述中屯、字段关联信息表中 的中屯、字段有n个中屯、字段,对所述中屯、字段关联信息表的元素a(i,j)和a(j,i)对应 的二进制数做与运算,将得到的新的二进制数代替所述中屯、字段关联信息表的元素a(i,j) 和a(j,i)对应的二进制数后得到中间表,其中,i,j《n,元素a(i,j)代表中屯、字段关 联信息表的第i行第j列,元素a(j,i)代表中屯、字段关联信息表的第j行第i列。
[0024]进一步,所述第二处理单元的分析处理过程具体为:
[00巧]设中间表中的中屯、字段为Ai,1《i《n,根据中间表判断中屯、字段Ai行对应Aj, 其中j>i,列的二进制数是否为1,若是,则将中屯、字段Ai和Aj归为一组即{Ai,Aj};在 所述初始化中屯、字段组合信息表中插入一行记录,记录中屯、字段Ai和Aj为1,其他字段为 0 ;
[002引当{AU已经为归为一组中屯、字段组后,其中,{AU中的i为1到n之间的若干个 数,根据中间表判断中屯、字段Ak化=!U行对应Ai列的二进制数是否全部都为1,若是, 则将中屯、字段Ak化=! ^和41归为一组中屯、字段组,其中k= !i代表k声i;在所述初 始化中心子段组合f目息表中插入一钉新记录{Ai,Ak}化=!i),记录中心子段Ai和Ak化 =!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中屯、字段组合信息表。
[0027] 又一方面提供一种化taVault模型数据仓库自动构建方法,该构建方法包括:
[0028] 表查询步骤;一表查询装置接收用户输入的中屯、字段组,所述中屯、字段组包括多 个中屯、字段,并对所述中屯、字段组进行处理后,输出总体信息表和中屯、字段关联信息表。所 述总体信息表记录有所述中屯、字段组中每一个中屯、字段W及该中屯、字段的主表和附表在 源数据库表中的表号信息,所述中屯、字段关联信息表记录有所述中屯、字段组中所有的中屯、 字段相互之间的逻辑关系;
[0029] 建表步骤;一建表装置接收所述总体信息表和中屯、字段关联信息表,通过分析处 理所述中屯、字段关联信息表得到中间表,再根据所述中间表得到中屯、字段组合信息表后, 再根据所述总体信息表自动创建中屯、表,根据所述中屯、字段组合信息表自动创建链接表, 根据源数据库表和所述中屯、表自动创建附属表,完成企业级数据仓库的构建。
[0030] 进一步,所述表查询步骤包括:
[0031] 初始化步骤;一第一初始化单元对所述中屯、字段组进行初始化,并形成初始化中 屯、字段关联信息表;
[0032] 捜索步骤;一捜索单元在源数据库表中寻找具有被捜索中屯、字段的表;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1