《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 一种基于特征值的数据仓库主题搜索方法
一种基于特征值的数据仓库主题搜索方法
周雄志 段成华
北京中国科学院研究生院信息科学与工程学院(100039)
摘要: 在分析数据仓库主题特征的基础上提出了一种搜索方法,能够从关系数据库中自动搜索最具有数据仓库主题特征的表。这种方法可以用于在数据仓库设计中辅助确定主题。
Abstract:
Key words :

摘   要: 在分析数据仓库主题特征的基础上提出了一种搜索方法,能够从关系数据库中自动搜索最具有数据仓库主题特征的表。这种方法可以用于在数据仓库设计中辅助确定主题。
关键词: 数据仓库  主题  关系数据库

  随着计算机技术的发展,信息系统在企业中得到了广泛的应用。市场竞争使得企业对信息化提出了新的需求,即要求以操作数据库为基础,建立数据仓库(DW),对积累的海量数据进行整理、汇总、挖掘,为企业提供决策支持。相应地,数据仓库理论与应用方面的研究也就成为了学术上的研究热点。在目前的数据仓库设计中,一般都是通过需求分析来确定主题。而这种方法是主观的,它依赖于设计者的经验和需求分析的准确性,缺乏客观的评估标准和可信度。本文根据数据仓库主题的特征属性,提出了一种搜索方法。此方法能够自动地从关系数据库中寻找具有这种数据仓库主题特征的表,为数据仓库设计的主题选择提供辅助参考。
1  相关概念
  数据仓库的主题即中心事实表,表现为多维数据模型,与关系数据库中的表存在一定的耦合关系。通过数据仓库主题特征的分析可知,关系数据库中某些表与数据仓库的中心事实表具有一定程度的相似性,被称为具有一定程度的数据仓库主题特征,它们可以作为数据仓库中心事实表的原型。这些表具有这样的特征;有较多的外键和视图数;通常都直接或者间接包含有数值类型和时间类型的属性字段;有比较大的元组数。这样的表在业务操作系统的关系数据库中是最核心的基础信息表,记录了各种详细的操作数据,是各种统计分析的数据来源,最适合作为确定数据仓库主题的参考对象。下面对关系数据库中表的数据仓库主题特征以及主题选择法则进行定义。
  为了便于说明,以集合的形式进行描述。给定一个关系数据库Ω={R1,R2,……,Rn},Ri为数据库中的关系表,n为数据库中关系表的个数。对于每个表Ri,其元组集合为Ti,Ri的字段(属性)集合为Ai={a1,a2,……,ap},Ri上的外键集合为Fi={f1,f2,……,fq},Ri上的视图集合为Vi={v1,v2,……,vk}。
  定义1(外键特征值f):若数据库Ω中表Ri的外键数为S(Fi),所有的表外键数中最大值为S(F)max,则表Ri的外键特征值fi=S(Fi)/S(F)max
  数据仓库中事实表和维表的关联程度体现了数据的粒度特征,外键特征值表征了关系数据库中表的粒度特征。
  定义2(数值特征值n):对数据库Ω中表Ri的字段属性集合Ai={a1,a2,……,ap},如果存在有am∈Ai,并且am为数值类型,则表Ri的数值特征值ni=1,否则ni=0。
  数据仓库的事实表是用数值来度量的,所以具有数值字段的表更有可能成为数据仓库的事实表。
  定义3(时间特征值d):对数据库Ω中表Ri的字段属性集合Ai={a1,a2,……,ap},如果存在有an∈Ai并且an为日期类型,则表Ri的时间特征值di=1,否则di=0。
  数据仓库事实表中的数据具有显式的或者隐式的时间属性。因此在选择数据仓库中心事实表时,应考虑表中是否具有或者隐含了时间类型的字段。
  定义4(视图特征值v):数据库Ω中表Ri上的视图集合为Vi={v1,v2,……,vk},视图数为S(Vi),数据库中所有的表视图数中最大值为S(V)max,则表Ri的视图特征值vi=S(Vi)/S(V)max
  在源数据库中,一个数值字段多次被用来建立视图或进行Group By计算,说明它的利用率很高而且是经常被汇总查询的数据量,这符合数据仓库中对主题数据的需求。
  定义5(元组特征值):数据库Ω中表Ri中的元组数为S(Ti),所有元组数中最大值为S(T)max,则表Ri的元组特征值ti=S(Ti)/S(T)max
  所谓元组数,也就是表中记录行数。通常,一个没有记录或者记录很少的表的利用率是很低的。而数据仓库中的主题是用来辅助决策的,需要大量的数据,所以该特征值用来表征事实表中存储的数据量。
定义6(主题特征值Md):上述五个定义给出了数据库Ω中表Ri的主题相关属性值,其中外键特征值、数值特征值、时间特征值和视图特征值都是静态的,元组特征值是动态的。取静态特征值的平均数与动态特征值的乘积作为表的主题特征值,定义表Ri的主题特征向量为Md=t*(f+n+d+v)/4。
  有关数据仓库主题特征更详细的讨论,请参见文献[3]。
2  搜索算法
  对于数据库Ω中的所有表,以它们的主题特征值Md作为度量的标准。Md越大的表,越具有数据仓库的主题特征,越适合作为建立数据仓库的中心事实表。由此设计出一种算法,能够自动地对关系数据库中的所有表进行遍历搜索,找出数据库中最具有数据仓库主题特征的表。
  此算法的步骤如下:
  (1)首先进行初始化,配置有关数据库信息,定义算法中使用的数据结构。
  (2)对数据库中的表进行遍历,计算各个表的特征值对应的统计数:外键数、数值字段数、时间字段数、视图数和元组数,把表的名称和五个特征值对应的统计数赋值给步骤(1)所创建的数据结构。
  (3)计算并找出各项表统计数中的最大值,作为计算归一化特征值的参考值。
  (4)对步骤(2)中保存了表的各项统计数的数据结构进行遍历,对各个表的各项统计数进行归一化计算得到其主题相关特征值,并计算各表的主题特征值Md。
  (5)按照Md的值,从大到小地输出结果集。Md越大的表越具有数据仓库主题特征,越适合作为数据仓库事实表的备选项。
  在数据库管理系统(DBMS)中,数据库对象的信息都保存在系统表或者用户表中,因此可以通过编写程序实现本文提出的搜索算法。在MS SQL Server 2000中用存储过程实现该搜索算法的代码如下:
 

3  应用实例
  运用此算法对山东青岛某中型集装箱国际货运公司的业务数据库进行了搜索。该数据库中积累了二年的业务数据,经过搜索得到按照Md从大到小排列的前十个输出结果如表1所示。

  对上面十个表进行简单分析:序号1为集装箱动态表,记录了每个集装箱的动态信息;序号2、3为业务费用相关表,记录船务系统所有业务产生的收支费用信息;序号4、5、6、7、8、9、10为进出口业务单证相关表,记录船务系统的定舱、装箱、货物、货主等详细信息。集装箱动态、业务费用和业务单证是集装箱海运系统最主要的业务数据,是海运物流决策支持系统的核心分析数据,最适合作为集装箱海运数据仓库的中心主题,这与通过需求分析得到的结果是基本一致的。
4  结束语
  利用主题特征搜索数据仓库的主题对于数据仓库的设计有着实际意义。一方面可以将搜索的结果与通过需求分析确定的数据仓库主题进行参照对比,判断需求分析和设计的客观性;另一方面,可以对未知的关系数据库进行快速分析,找出最具有数据仓库主题特征的表,辅助数据仓库设计人员确定主题事实表。但是,目前对数据仓库主题特征的研究还不是很彻底,对主题特征相关特征值之间的比例关系基本上是平均考虑。如何设定各特征值的权重,使搜索结果更理想,是需要进一步深入研究的问题。
参考文献
1   Theodoratos D,Sellis T.Designing data warehouses.Data &  Knowledge Engineering.1999;(31)
2   orger J L,Vossen G.Multidimensional normal forms for data warehouse design.Information Systems.2002;27
3   刘娟,段成华.评估数据仓库主题兴趣度的Md距离测度方法.计算机应用与软件.2003;(20)
4   Inmon W H.数据仓库(第二版).北京:机械工业出版社,2000

此内容为AET网站原创,未经授权禁止转载。