论文部分内容阅读
报表是一种重要的数据库应用,报表应用的核心是将数据转化为信息,为决策提供依据,同时,报表也是信息交换的一种重要形式。早期的报表模块是由开发人员根据需求自主开发的,其开发和维护的工作量大,而且不具备通用性。随着各种报表工具的广泛应用,开发人员可以利用报表工具提供的控件开发报表模块,大大减轻了工作量。但是,传统的报表工具也存在专用性太强、安全性不高、数据共享性差等缺陷,不但用户操作复杂,也不利于企业的应用集成和数据集成。为了解决这些矛盾,结合数据仓库和OLAP的一些概念,提出了一个新的报表应用框架,在报表工具与数据源之间建立一个“语义层”,在“语义层”中定义一系列数据模型,包括了数据源模型、报表模型和转换模型。其中数据源模型利用用户领域的语义描述了客观世界的数据来源的属性信息;报表模型是从数据源模型中归纳获得的,体现了报表的分析主题,报表模型可以根据具体的报表展现格式被实例化;转换模型体现了数据模型(报表模型)与数据库之间的映射关系,提供了访问实际数据源的转换接口。考虑到数据模型的通用性和可扩展性,这些数据模型中的静态模型使用XML文档描述,而动态模型(转换模型)使用XSLT语言描述。“语义层”为用户提供了一种便捷安全的访问实际数据源的方式,基于XML的数据模型为应用集成和数据集成提供了接口,面向领域的定义方法使用户更容易理解和操作。另外,我们还定义了一套报表格式定义语言,通过对其属性的编辑,能够定义出适合中国式报表的复杂格式。基于这个报表应用框架,我们设计了SOPT报表工具,该报表工具通过用户权限控制其对数据源的访问,通过访问数据源模型实现报表模型的定义,并结合报表格式形成报表定义。在生成报表数据时,报表工具利用转换模型将报表模型转换成查询脚本,从数据库获取相应的数据集合,并利用报表格式展现给用户。利用该报表工具生成的报表数据与报表格式没有必然的联系,其他应用系统可以通过报表模型访问相应的报表数据。本文还对报表数据的利用、查询分析模型的定义以及报表生成的效率进行了探讨,提出了一些解决思路。