




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学硕士学位论文 摘要 报表是一种重要的数据库应用,报表应用的核心是将数据转化为信息,为决策提供依据, 同时,报表也是信息交换的一种重要形式。早期的报表模块是由开发人员根据需求自主开发 的,其开发和维护的工作量大,而且不具备通用性。随着各种报表工具的广泛应用,开发人 员可以利用报表工具提供的控件开发报表模块,大大减轻了工作量。但是,传统的报表工具 也存在专用性太强、安全性不高、数据共享性差等缺陷,不但用户操作复杂,也不利于企业 的应用集成和数据集成。 为了解决这些矛盾,结合数据仓库和o l a p 的一些概念,提出了一个新的报表应用框架。 在报表工具与数据源之间建立一个“语义层”,在“语义层”中定义一系列数据模型,包括 了数据源模型、报表模型和转换模型。其中数据源模型利用用户领域的语义描述了客观世界 的数据来源的属性信息;报表模型是从数据源模型中归纳获得的,体现了报表的分析主题, 报表模型可以根据具体的报表展现格式被实例化;转换模型体现了数据模型( 报表模型) 与数 据库之间的映射关系,提供了访问实际数据源的转换接口。考虑到数据模型的通用性和可扩 展性,这些数据模型中的静态模型使用x m l 文档描述,而动态模型( 转换模型) 使用x s l t 语言 描述。“语义层”为用户提供了一种便捷安全的访问实际数据源的方式,基于瑚l 的数据模 型为应用集成和数据集成提供了接口,面向领域的定义方法使用户更容易理解和操作。另外, 我们还定义了一套报表格式定义语言,通过对其属性的编辑,能够定义出适合中国式报表的 复杂格式。 基于这个报表应用框架,我们设计了s o p t 报表工具,该报表工具通过用户权限控制其对 数据源的访问,通过访问数据源模型实现报表模型的定义,并结合报表格式形成报表定义。 在生成报表数据时,报表工具利用转换模型将报表模型转换成查询脚本,从数据库获取相应 的数据集合,并利用报表格式展现给用户。利用该报表工具生成的报表数据与报表格式没有 必然的联系,其他应用系统可以通过报表模型访问相应的报表数据。本文还对报表数据的利 用、查询分析模型的定义以及报表生成的效率进行了探讨,提出了一些解决思路。 关键字 报表模型,数据模型,可扩展标记语言,映射,实例化 东南大学硕士学位论文 a b s t r a c t r e p o r ti sa ni m p o r t a n ta p p l i c a t i o no fd a t a b a s e i tc e n t e r so nt r a n s f e r r i n gd a t a i n t oi n f o r m a t i o nw h i c hw o u l db et h ef o u n d a t i o no fd e c i s i o n - m a k i n g a tt h es a m et i m e r e p o r ti sa l s oav i t a lm e a n so fi n f o r m a t i o ne x c h a n g e t h ef o r m e rr e p o r tm o d u l ei s d e v e l o p e db yt h ep r o g r a m e r st h e m s e l v e sa c c o r d i n gt ot h ed e m a n d i th a ss u c h d i s a d v a n t a g e sa st h a tt h ew o r k l o a do fp r o g r a m m i n ga n dm a i n t e n a n c ei sv e r yh e a v ya n d t h a ti tc a nn o tb eu s e dg e n e r a l l y w i t ht h ew i d e l yu s eo fv a r i o u sr e p o r tt o o l s ,m u c h w o r kc a nb er e l e a s e db yu s i n go ft h ea p i b u tt h e r ea r es o m ed e f e c t si nt h et r a d i t i o n a l r e p o r tt o o l s ,s u c ha si t sh i g hd e g r e eo fs p e c i a l t y ,l o ws a f e t ya n di n a b i l i t yt os h a r e d a t a ,e t c t h e s ed e f e c t sr e s u l ti nt h ec o m p l i c a t e do p e r a t i o na n dg oa g a i n s tt h e a p p l i c a t i o ni n t e g r a t i o na n dd a t ai n t e g r a t i o no ft h ee n t e r p r i s e s i no r d e rt os o l v et h ea b o v e - m e n t i o n e dp r o b l e m s w i t ht h ea p p l i c a t i o no fs o m e c o n c e p t so fo l a f ,t h i st h e s i sp u tf o r w a r dan e wf r a m e w o r ko fr e p o r ta p p l i c a t i o n , t h a ti s t oe s t a b l i s ham i d d l el a y e rb e t w e e nt h er e p o r tt o o l sa n dt h ed a t ab a s e as e r i e so fd a t am o d e l si n c l u d i n gt h ed a t as o u r c em o d e l t h er e p o r tm o d e la n dt h e t r a n s f o r m a t i o nm o d e lw a se s t a b l i s h e di nt h em i d d l el a y e r a m o n gt h e m , t h ed a t as o u r c e m o d e ld e s c r i b e st h ed a t as o u r c ei n f o r m a t i o no fr e l e v a n tf i e l d sb yr e f e r r i n gt h e k n o w l e d g eo ft h eu s e r s t h er e p o r tm o d e li sd e r i v e df r o mc o n c l u s i o no ft h ed a t as o u r c e m o d e la n dp r e s e n t st h ea n a l y s i st o p i co fr e p o r t t h er e p o r tm o d e lc a nb ei n s t a n t i a t e d a c c o r d i n gt ot h er e p o r tf o r m a t t h et r a n s f o r m a t i o nm o d e ls h o wt h em a p p i n g r e l a t i o n s h i pb e t w e e nt h er e p o r tm o d e la n dt h eb o t t o md a t ab a s e ,a n dt h i sr e l a t i o n s h i p i n c l u d er o wr e l a t i o n s h i pa n d1 i n er e l a t i o n s h i p c o n s i d e r i n gt h eg e n e r a l - p u r p o s ea n d t h ea b i l i t yt ob ee x t e n d e do ft h ed a t am o d e l t h es t a t i cm o d e li sd e s c r i b e db y ) 眦 d o c u m e n ta n dt h em o b i l em o d e li s ,o nt h eo t h e rh a n d ,d e s c r i b e db y ) 【s l td o c u m e n t t h em i d d l el a y e rp r o t e c t st h ed a t ab a s e t h ed a t am o d e lw h i c hi sb a s e do n ) 眦p r o v i d e i n t e r f a c eb e t w e e na p p l i c a t i o ni n t e g r a t i o na n dt h ed a t ai n t e g r a t i o n a n dt h e c u s t o m i z e dd e f i n i t i o nm e t h o de n a b l e st h eu s e r st ou n d e r s t a n da n do p e r a t em o r ee a s i l y b e s i d e sw ea l s od e s i g nal a n g u a g ew h i c ht ot h ef o r m a to ft h er e p o r t b ye d i t i n gt h e a t t r i b u t e so ft h el a n g u a g e ,w ec a nd e f i n et h ec o m p l e xf o r m a to ft h ec h i n ar e p o r t s b a s e do nt h i sr e p o r ta p p l i c a t i o nf r a m e w o r k ,w er e s e a r c ha ns o p tt 0 0 1 t h et o o l c a nc o n t r o lt h ea c c e s st od a t as o u r c eb yu s e r sp u r v i e w a tt h es a m et i m e ,i tc a n r e a l i z et h ed e f i n i t i o no fr e p o r tm o d e lb ya c c e s st od a t as o u r c em o d e la n df o mt h e r e p o r td e f i n i t i o na c c o r d i n gt ot h ef o r m a to ft h er e p o r t w h e np r o d u c i n gt h er e p o r t d a t a ,t h er e p o r tt o o lw i l lt u r nt h er e p o r tm o d e li n t oaq u e r ys c r i p tb ym a k i n gu s e o ft h et r a n s f o r m a t i o nm o d e l i tw i l la c q u i r et h er e l e v a n td a t ac o l l e c t i o nf r o mt h e d a t ab a s e ,a n dp r e s e n tt h e mt ot h eu s e r sw i t has u i t a b l er e p o r tf o r m a t t h e r ei s n on e c e s s a r yr e l a t i o n s h i pb e t w e e nt h er e p o r td a t ap r o d u c e db yt h et o o la n dt h er e p o r t f o r m a t o t h e ra p p l i c a t i o ns y s t e mc a na c c e s st h er e l e v a n tr e p o r td a t ab yt h er e p o r t m o d e l t h i st h e s i sa l s od i s c u s s e st h eu t i l i z a t i o no fr e p o r td a t a ,t h ed e f i n i t i o n o fq u e r ya n a l y s i sm o d e la n ds o m ep o s s i b l er e s o l u t i o n s k e y w o r d s r e p o r tm o d e l ,d a t am o d e l ,i l ,m a p p i n g ,i n s t a n t i a t i o n - i i 堡堡奎兰堡主堂竺堡壅= 东南大学学位论文 独创性声明及使用授权的说明 一、学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 二、关于学位论文使用授权的说明 签名 e t 期:堑! :! :! ! 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 日期:进! ! :! ! 变堕奎兰堡主堂些堡奎 第一章引言 随着计算机的广泛应用,人们开始使用计算机以及计算机软件实现数据处理,其中报表 是这些数据重要的输出方式之一。大部分企业应用系统都会包括报表模块,报表模块的开发 和维护会花费大量的工作量,而且这些报表模块往往与具体的应用和数据紧密结合,缺乏通 用性和可移植性,无形中浪费了许多开发工作。应该形成一套面向应用系统报表模块的框架 标准,全面定义报表模块的各组成部分及其相互关系,并且该标准需要具备良好的可适应性 和可扩充性,这将大大简化报表模块的开发和维护,提高报表模块针对不同应用系统的集成 能力,使其更能适应业务逻辑和运行环境的变化。 1 1 研究背景 报表应用的核心是将数据转化为信息,为业务决策提供依据,同时,报表也是信息交换 的一种重要形式。它能提高生产效率、建立客户忠诚度和使各种合作更为高效。所以,报表 在企业竞争、电子商务活动中仍将扮演重要的角色,而一个架构合理的报表工具将能够充分 发挥报表的作用。报表工具的发展从技术角度可以分为四个阶段: 第一阶段:以自己编写代码为主。这个阶段的报表需求还没有被单独的列出来,而是作 为信息系统的一部分。报表生成一般都是项目人员编写程序代码完成。可以说,这时还没有 报表工具,是报表工具的“史前时代” 第二阶段:分组报表的时代。正是由于编写代码生成报表很繁琐,因此出现了基于分组 的报表。最早出现的是m sa c c e s s 数据库中内置的报表,它基于数据表或视图,不仅可以生 成数据的列表,还可以进行分组、简单的计算。早期的c r y s t a lr e p o r t 也是这种报表的典型。 可以说,基本上主要的报表工具,早期都是从这种模式发展而来的。 第三阶段:b s 报表的时代。基于分组的报表,为快速制作报表提供了方便的工具,但 同时也面对着用户不断提高的要求的挑战。同时,应用系统中,对b s 报表的要求也越来越 强烈,于是报表工具逐步进入的b s 报表的时代。 这一时代的特点是,基本上报表工具还是沿袭了传统的方式,但是进行了若干改进与加 强,比如增加了单独的交叉表的功能,增加了子报表。同时,普遍开始支持b s 结构。 在这一阶段,著名的报表工具如c r y s t a lr e p o r t 继续发展,并终于跨入了支持b s 的行 列,而许多新的报表工具也如雨后春笋一样冒了出来。这些工具大都来源于开源软件,进行 包装改造,基本上有两种流派,一类来自于q u i c k r e p o r t 这种基于d e l p h i 的软件,通过控件 方式实现b s 报表,进而将报表计算移至服务器上进行,再改进为支持l i n u x ,另一类是来自 于j a s p e r 的基于j a v a 的开源软件。但它们共同的特点,就是仍然是传统的分组报表的模式。 第四阶段:新的数学模型的时代。虽然各种报表工具越来越多,功能越来越多,但是其 基本模式决定了处理很多复杂报表时仍然会面临很大的困难。很多时候仍然需要借助大量的 程序编码和复杂的s q l 语句( 存储过程) 加以实现。面对这种问题,就出现了第四代的报表 产品,其代表产品是润乾报表这种产品根据报表的需求设计了全新的数学模型,可以解决报 表单元格与数据字段之间的弱关联性,在制作复杂报表时,开发效率与运行效率都高出传统 工具数倍。 同时,还有必要提一下表格式的工具,如最著名的p o r a u l a l 。这种类e x c e l 的工具, 为制作很多报表带来了巨大的便利。但是,它无法对数据进行展开,所以,长期以来,它一 直是与分组报表互补的一种产品。 显然,四个阶段是报表工具不断地发展,不断地进步的过程,但是在现有应用系统开发 中所用到的报表模块并没有随之发展,有些是仍然完全由开发人员自主开发的,而有些则是 利用商业报表工具开发的。由开发人员独立开发报表模块,其开发及维护的工作量会很大, 基于语义对象报表工具的研究设计 需要大量的编程,而且开发出的报表模块针对性很强,面向具体的应用需求和业务数据,往 往同一企业开发的不同应用项目( 如业务系统和财务系统) ,都有独立的报表模块,通用性较 差,包括报表模块与报表数据都很难被共享。利用商业报表工具可以大大减轻开发人员的工 作量,目前各大数据库厂商都会提供针对自身d b 惦产品的报表开发工具,市场上常见的用 于报表开发工具的软件主要有两大类:报表组件( 控件) 类、西式报表系统: 报表组件( 控件) 类 这类软件通常是a c t i v e x 控件或3 a v aa p p l e t 组件,主要解决报表在测览器中格式化显 示和打印问题,以仿照微软e x c e l 功能实现的报表组件最具有代表性。其优点是能以网格单 元格实现复杂的报表格式;其缺点是对数据库的支持能力弱,即使能够自动填充数据库的数 据,也无法实现复杂的报表类型,只能通过编程逐个单元格填充数据,效率比较低。 西式报表系统 这类软件多是国外成熟的报表系统,代表性的是c r y s t a lr e p o r t 。国内近些年也有类似 仿制产品推出,如:数巨报表。这类报表软件对数据库数据源具有很好的支持能力,能够开 发复杂的报表。另外,b o 和b r i o 两种o l a p 前端工具也支持丰富的报表功能。但这类软件 面对中国式报表的没有规律的格式有一定的困难。因此,当开发一些格式复杂而且报表含有 多个数据源时,往往需要通过复杂的编程才能够实现。 同时以上两种报表工具也有一些共同的缺陷。归纳起来主要有以下及几点: 数据安全性较差,各类报表工具往往使用通用数据接口与企业数据库连接,在定义 报表时可以直接访问数据库中的元数据,在生成报表时直接访问数据库中的业务数 据,这使得企业数据的安全性和保密性得不到保证,这在大企业中更为明显; 报表工具的专业性太强。每个报表工具都有自己的一套操作规范,即使经过专门培 训,一般用户在使用上还是会遇到困难,而报表工具的使用面应该是非常广泛的; 报表模块和报表数据的可移植性较差,不同报表工具开发出来的报表模块只能在本 系统的运行环境下运行,生成的报表数据也被保存在专用的数据结构中,这样就给 企业的应用集成和数据集成造成了很大的困难; 因此现在的报表工具无论自主开发还是使用商用的报表工具总有各种不同的问题,迫切 需要一种通用的报表工具来适应现代企业的发展需求。下面本文将提出一个完善的报表工具 应该具备的一些特点,并阐述其相对与传统报表工具的优势。 首先在一个完善的报表工具架构中,应该避免用户直接访问数据库,在支持多种数据库 的同时,能够保证企业数据库的安全。一个很好的解决方法是在报表工具和数据库接口之间 建立一个语义层,在语义层中定义领域内的数据源模型和和企业数据库模型,并定义它们之 间的映射关系。报表工具通过访问数据源模型完成报表的定义,在生成报表的过程中,再按 照映射关系形成实际查询脚本,通过数据库接口访问企业数据库。在这种处理方式下,用户 可以在应用系统内部,结合操作员的权限,控制其对数据源模型的访问,保证了企业数据的 安全。设置语义层,并在语义层中定义领域数据源模型,也从一个角度解决了传统报表工具 专业性太强的缺陷。在数据源模型的设计过程中,计算机专家可以与领域专家合作,参考领 域语义,利用面向对象的方法,将数据源模型的展现模式设计得非常贴近用户,用户完全可 以利用自己的领域知识去理解报表模型,并在此基础上完成各种报表的定义工作,把其主要 精力投入到报表内容的规划上而不必关系如何去访问数据库。 其次,报表应该能够满足绝大部分报表样式的需求,特别是能够满足中国式报表复杂的 报表格式。报表格式主要分为报表布局和报表数据格式,因此需要定义一种语言,解决报表 布局和报表数据格式描述的问题。报表布局,可以从结构上进行分解,分解后的报表处理起 来更加方便,更重要的是,它符合实际工作中的习惯,这样用户可以很快地熟悉报表工具。 描述报表数据格式,需要能够指定每个数据的格式。在实际工作中,一张报表中许多数据的 2 东南大学硕士学位论文 格式可能是一样的,因此,此描述语言不但能够制定单个数据的格式,而且可以指定一组数 据的格式。这样可以减少报表数据格式设计的工作量,使得报表数据格式的使用更加方便。 报表格式描述语言的设计可以参考标记语言,用属性表示格式信息。用特殊语义标记将报表 数据“注入”报表格式,实现报表数据按照一定的格式组织。 晟后,报表工具能够完成以上数据从报表到数据库的映射,能够把完整的报表输出给用 户看,并且可以支持多种格式的输出,以及打印。 另外,本文认为报表的实质是信息的展现,报表的核心是其所反映的业务主题,所以在 报表的定义过程中,应该先明确主题,在本文中称其为报表模型,然后再结合报表格式,将 报表模型实例化。在报表生成过程中,先按照报表模型并结合具体的参数,从数据库中获得 数据集,然后根据报表格式展现数据。这种处理模式降低了报表生成定义、报表格式和报表 数据之间的耦合度,当报表格式发生变化时,用户所作的调整只涉及变化的部分,减轻了用 户维护报表的工作量,同时,由于报表数据决定于报表模型,而与具体报表格式无关,其他 应用系统可以通过访问报表模型( x m l 文档) 来利用报表数据,使报表数据这种宝贵的数据资 源得到了充分的利用。 进步而言如果使用x 札这种标准的描述语言去定义报表工具中的数据源模型、企业数据 库模型、报表模型和映射模型,从而使报表模块的数据结构具有较高的开放性,可以大大提 供报表模块与其他企业应用系统之间的可集成性。而且由于) 眦文档是自描述的,这些数据 模型也完全可以被其他应用系统用于交换数据,成为企业数据接口的一个标准,这又可以帮 助实现企业数据的集成。 基于以上对一个完善报表工具应该具有的优点,本文提出一种基于语义对象的报表工具 s o p t ( s e m a n t i c o b j e c t - r e p o r t t 0 0 1 ) 的实现方法,通过定义语义对象,生成统一的数据模型, 并在此基础上制定出一种可嵌套语义对象的描述语言。该工具主要是针对现有报表工具中的 缺点,并且同时具有扩充性,可重用性和易操作性。 1 2 论文工作 本文中首先对国内外报表工具本身进行分析,然后提出一套新的、切实可用的报表模型 s o p t 。并且对报表模型中重要的环节进行分析设计,主要是通过对报表中数据进行分析,引 入语义对象的概念,提出一系列的设计模型:数据源模型、报表模型以及从数据源模型到实 际业务数据库的映射模型,通过这些模型不仅可以屏蔽复杂数据源的异构性,而且降低报表 格式和报表数据之间的耦合度,并与现有方法相比,在报表生成、演化过程中阐述其优势; 通过分析报表格式的建立过程,定义一套类h t m l 的描述语言,解决了报表格式复杂多变的特 点;最后探讨了报表数据的运用,以及报表生成的优化等问题。 1 3 论文组织 论文将按如下方式组织。第二部分首先是对报表本身的讨论,然后对现有典型报表工具 的比较研究。第三部分对报表模型的框架进行分析,提出了新的报表模型s o p t ,阐述其优 点。第四部分讨论了语义对象的分析和实现,主要对其中数据源模型,报表模型,映射模型 进行分析设计。第五部分通过引入一种新的报表格式的描述语言s t h l ( s i m i l a rt oh t m l l a n g u a g e ) ,讨论了报表格式的设计中的问题。第六部分是对报表中几个问题进行深一步的 探讨,第七部分对论文进行了总结。 基于语义对象报表工具的研究设计 2 1 报表 第二章报表工具的分析 2 1 1 什么是报表 报表,就其实质而言,是信息的发布,主要包括内容和形式两个方面。形式方面:报表 是表格,是具有统一规定的表格的形式报表的内容要按照一定的格式组织;内容方面: 报表要报告情况,例如反映经营成果和财务状况报表的内容都是各种各样的数据。同时, 报表是数据处理系统所预备好的输出文件,是总结性文件赧表中的数据是经过处理的数 据。报表工具要代替人完成报表的编制,就必须要解决这两个主要的问题;一个是报表的内 容报表数据;另一个是报表的形式报表格式。 2 1 2 报表工具中的报表 使用报表系统生成的报表以后,报表具有了一些手工编织的报表没有的特点,不同的报 表中的报表也有所不同。 报表的交互性 一些报表系统中支持交互式报表,报表生成后,仍然是活动的。例如:在e x c e l 中可以 按交互式或非交互式保存数据。如果将数据保存为具有交互功能,在交互式时用户可以进行 以下操作:筛选,输入新值以进行计算,或汇总和分析数据。 报表流动方向 报表工具一般是将数据库中的某些数据抽取出来,经过一些数学运算,最终以特定的格 式呈现给用户。报表中数据的流向由单项和双向两种。普通的报表数据流向是单向的:即从 数据库到报表。在某些报表系统中,报表是双向的,从报表到数据库报表可以更新数据 库中的数据。 报表的输出 手工编制的报表不需要考虑输出问题:编制好的报表往往是纸质的,可以直接使用;报 表系统则必须考虑报表的输出:支持报表的打印、屏幕上的浏览等。 2 2 报表数据 报表中信息的核心内容是各种各样的数据。报表的数据来源多种多样,可能取自数据库; 可能来自数据文件;可能由用户输入;还可能来自于其他系统。同时,报表数据表示简单的 摘录或者拷贝原始数据,报表中的有些数据需要经过加工处理,是计算结果,也就是说,报 表数据是经过处理的数据。 报表中的数据受以下一些因素的限制 1 数据源中现有的数据 报表的数据最终是来自外部的数据源,主要是各种各样的数据库,因而受到数据源中包 含的数据范围的限制。举例来说:如果数据库中不存在历史数据,则报表无法包括历史数据。 2 报表工具所支持的数据源 原始数据可能最终来自于外部的数据源:数据库,数据文件等等。数据库有不同的访问 接口,数据文件有不同的格式。报表工具所能访问的数据源的种类是有限的,因而限制了报 表的数据来源。 3 报表工具的数据处理能力 报表工具的数据处理能力决定报表数据的抽象层次。报表数据越抽象,需要的处理越复 杂。比如:要支持统计分析报表就要求报表工具具有数据的统计分析能力。 4 - 东南大学硕士学位论文 4 报表工具的限制 一些实现时的因素也限制了报表工具的能力。例如:报表工具所能支持的数据规模受到 程序是现实的限制。同时,支持报表工具运行的操作系统也限制着报表工具处理数据的能力。 2 3 报表格式 除了报表数据,报表的另一个重要的方面是报表格式:报表中的数据必须按照一定的格 式组织。报表格式包括报表布局和报表数据格式两个方面。 2 3 1 报表布局 报表布局是指报表的结构安排或者说是报表各个部分内容及其出现的位置。报表工具的 习惯作法是将报表分解,规定各个部分的出现位置,用户通过指定各个部分的内容来控制报 表的布局。在一般的报表工具中,一般将报表分为如下几个部分: r e p o r th e a d e r r e p o r th e a d e r 在报表的开始出现。它通常用来在报表的开始打印一个报告标题,一张 概括报,一份图表或仅仅在报表的开始处需要出现的任何信息。r e p o r th e a d e r 可以跨越多 重的页,在其内容中插入分页控制即可。 r e p o r tf o o t e r r e p o r tf o o t e r 在整个报表的结束处出现。它用来打印报表的总结性内容,总计或在报 表的结束处需要打印的任何信息。 p a g eh e a d e r p a g eh e a d e r 在报表每页的顶端出现。它用来打印列头,页码,页标题或在每页的开始 需要打印的任何信息。 p a g ef o o t e r p a g ef o o t e r 在报表每页的底部出现。它用来打印本页合计,页码或在每页的底部需要 打印的任何信息。 d e t a i l 报表的主体。报表的数据源中的每个记录对应一个明细。 2 。3 2 报表数据格式 报表数据格式是报表中数据里现的形式,例如,报表中文字的格式:字体、大小、颜色、 对齐方式;报表中数字的格式:货币符号、小数位数;报表中日期的格式:日月年或者年月 日等。 报表工具的数据格式支持与文档编辑器( 如,w o r d ) 所提供的各种格式设定的功能类似。 但是,报表工具中的数据格式由自己的独特之处。例如,e x c e l 所提供的一种非常实用的数 据格式数据条件格式:可以指定条件,数据的格式可以随着条件的满足与否而变化。 2 4 报表输出 报表生成后,需要用某种形式输出以供人们使用。关于报表输出方面一般有以下的要求: 输出设备无关性 报表工具应该能够将报表输出到多种设备。报表工具将根据输出设备的输出能力,选择 合适的表现形式,输出报表。比如,报表的打印应该能够使用多种打印机。 支持多种发布的方式 不仅能够支持纸质报表、而且支持互联网发布报表到网页等等 报表数据的输出 报表数据本来也是一个重要的数据源,在某些场合,比如在不同的系统间交换交换报表 - 5 基于语义对象报表工具的研究设计 数据时,能够从报表中到处数据,是一个重要的功能。 2 5 其他需求 报表除了以上的功能需求以外,还有一些别的方面的需求,它们能够使用户更加容易掌 握和使用报表。 2 5 1 报表管理 报表工具需要提供报表管理机制,用于管理系统中存在的大量的报表,以方便用户使用 报表。例如:报表查找、添加、删除等等功能。查找功能是指报表系统中可以由用户输入查 询条件,系统查找符合条件的报表,显示给用户。报表的添加是指用户可以向系统中添加新 的报表定义。报表的删除是指用户可以删除已有的报表和报表定义。 2 。5 2 安全性 报表数据来自于数据库,数据库系统中很重要的一个问题就是数据安全。因而,保镖同 样需要安全性。报表工具需要提供安全机制,使得用户可以针对不同的情况进行授权,控制 报表的使用,保护数据。 2 5 3 伸缩性 报表工具支持从报表设计到报表生成,最后到报表输出的一系列的功能。但是,不是所 有的用户都需要这样的功能,报表工具应该具有伸缩性,能够方便提供系统的一个子集,实 现灵活的配置。例如,对于只需要浏览报表的用户,一个支持报表显示功能的报表浏览器即 可以满足要求。 2 。5 4 二次开发支持 报表工具可能需要集成到其他应用程序中去,提供报表功能。这时候,报表工具需要向 应用程序提供编程接口。 2 5 5 扩充性 报表工具提供的功能优势可能不满足用户的特殊要求,报表工具需要提供功能扩充机 制,用户可以通过它对报表工具的功能进行扩充。 2 6 小结 报表是信息的发布。报表工具需要解决的三个核心问题是:报表数据、报表格式和报表 输出。报表数据和报表格式是报表本身的固有属性;报表输出是报表工具为了使用,必须解 决的问题。现有的报表工具在报表数据、报表格式和报表输出方面各有特色。报表管理、安 全性、伸缩性、二次开发型等等也是报表工具的重要特性。 6 东南大学硕士学位论文 第三章报表工具的模型 3 1 报表模型设计思想 根据以上的分析,s o p t 报表模型在设计过程中,针对现有报表的缺点,采用了一系列的 设计思想,以实现各种复杂的功能需求和设计目标。总结起来,主要有以下几点: 。报”“表”分离 报表从形式上一般可分解为标题区,表头区,表体区,表尾区,所以很多报表生成工具 采用了分而治之的办法,而且整个报表的定义往往是围绕报表格式进行的,这样报表生成定 义和报表数据离开报表格式就毫无意义,而报表格式随着业务的发展又会经常变化( 如增加 新的部门或业务种类等) ,一旦报表的格式发生变化,用户就需要修改大量的报表生成定义, 而且原有的报表数据也不能在新的报表格式下展现。这类方法定义过程繁琐,生成的报表形 式固定而缺乏灵活性。我们分析报表过程不难发现,报表的实质就是数据( 报) 和空表结构 ( 表) 的合成,除了表体区以外其他组成的空表结构是相对固定的,可变部分主要是表体区 的数据。 分离思想使复杂报表简单化,将复杂的表格格式和数据处理分别独立出来,形成单独的 组件,从而大大简化报表工具的工作量,使工具开发者能集中精力进行各自组件的设计。在 报表生成过程中,先按照报表模型并结合具体的参数,从数据库中获得数据集,然后根据报 表格式展现数据。这种处理模式降低了报表生成定义、报表格式和报表数据之间的耦合度, 当报表格式发生变化时,用户所作的调整只涉及变化的部分,减轻了用户维护报表的工作量, 同时,由于报表数据决定于报表模型,而与具体报表格式无关,使报表数据这种宝贵的数据 资源得到了充分的利用。“报”“表”分离让报表的格式具有良好的扩充性和可变性,使报表 格式的局部修改不会对报表的生成产生影响,方便了用户的维护和修改。 语义对象 在报表数据处理过程中,面对不同的数据源,必须考虑数据模式表示的不一致性,这将 使数据定义过程变得十分复杂。如果在定义时不用考虑数据模式表示的差异,让用户只需要 考虑模式表达的语义,就可以降低定义的复杂程度。尽管数据模式表示的方式不一样,但这 些数据模式对应的语义是一样,都对应于现实中的实体和实体的属性。另外,本文认为报表 的实质是信息的展现,报表的核心是其所反映的业务主题,所以在报表的定义过程中,应该 先明确主题,然后再结合报表格式,将报表模型实例化。然而报表数据如何能够确切的反映 出其主题,则需要依赖于一系列具有语义的数据对象( 语义对象) ”1 。 语义对象就是用一种更为抽象的、统一的数据模型来表示不同数据源的数据模式,语义 对象不仅能够对用户屏蔽了各种异构数据源来简化了数据的定义过程,解决了中国式报表中 数据源多而杂乱的特点,增强数据的安全性,而且能够使用户方便的根据报表主题进行数据 处理。在s o p t 报表工具中统一用x m l 文件来存储语义对象,方便以后报表的定义。 结合o i a p 和数据仓库思想 报表作为商业活动的重要分析依据,每张报表的制定总是具有明确的分析主题,特别是 国内的报表,往往希望在一张报表中反映出可能多得经营状况。所以,报表的定义过程是分 析主题的建立过程,我们在设计报表模型是,着重提取其分析主题,因此,我们参考了o l a p 的基本原理和建立数据仓库的一些方法,将报表项目与分析主题进行有机的结合,使报表模 型能够将隐藏在纷繁复杂的数据后面的信息具体化,可视化。 7 基于语义对象报表工具的研究设计 3 2 模型框架 图3 1s o p t 框架结构 图3 1 描述了s o p t 的框架结构,如图所示,主要包括三个的部分:语义对象的定义,报 表格式定义;报表生成。其中语义对象的定义需要有三个模型来支持:数据源模型,报表模 型,映射模型。这样,把一个复杂的模块分成几个模块,各个模块相对独立,关键问题变为 如何完成语义对象的定义,如何定义一种可以嵌套语义对象的描述语言,并且能够融合所定 义的语义对象,最终能编译输出。 以上报表模型中定义语义对象过程涉及三个模型,这些模型应该具有很强的可描述性、 直观性和灵活性。在模型中我们准备借鉴数据仓库中的知识,但并不是仅把数据仓库作为我 们的数据源,我们希望能够在业务逻辑的基础上构建一个类似“星型结构”的数据源模型, 然后针对客户的具体数据库,再使用配置工具及映射关系模型完成数据源模型与数据库结构 之间的对应。模型设计中我们使用d i l 这种标准的描述语言去定义报表工具中的数据源模型、 企业数据库模型、报表模型和映射模型,从而使报表模块的数据结构具有较高的开放性,可 以大大提供报表模块与其他企业应用系统之间的可集成性,而且由于x m l 文档是自描述的, 这些数据模型也完全可以被其他应用系统用于交换数据,成为企业数据接口的一个标准,这 又可以帮助实现企业数据的集成。 3 3 模型的优点 通过以上描述,s o p t 系统依据现实报表的需求,其模型能够适合绝大部分的报表。其主 要有以下的优点: 通过语义对象的定义能够屏蔽复杂的数据源,以统一数据模型提供给业务人员。语义对 象采用x m l 语言,具有良好的描述性和规范性,保证了具体报表定义知识的延续性; 通过采用自己定义的报表格式描述语言,可以定义中国式报表复杂的格式,同时,报表 - 8 - 东南大学硕士学位论文 格式定义工具和数据定义完全独立,使得报表格式定义更加方便灵活; 数据安全性得到了保证,报表工具没有直接通用数据接口与企业数据库连接,在定义报 表时不可以直接访问数据库中的元数据,通过在数据源模型中设置权限属性,使得企业 数据的安全性和保密性得到保证; 报表工具的专业性降低,业务人员不需要太多的专业知识就能够定义报表数据源,实际 操作也变得简单; 报表模块和报表数据的可移植性得到提高,报表工具开发出来的报表模块通用性得到提 高,生成的报表数据也被保存在以) 叫淀义得开放、规范的数据结构中,这样就给企业 的应用集成和数据集成提供了很大的便利; 下面本文将具体描述报表的定义过程,其中数据的定义,也就是语义对象的设计过程将 是本文的重点,通过对三个模型的定义,阐述了s o p t 在报表生成中的优势。 - 9 - 基于语义对象报表工具的研究设计 第四章语义对象设计 报表是数据重要展现方式之一,其数据源的情况可能是多样化的,有的是关系数据库, 但有的不是关系数据库,甚至是非数据库的。非数据库的数据源将会越来越多,最常见的是 w e b 数据源。w e b 上的数据没有统一的数据模型,没有严格的结构,将来w e b 上的数据越 来越多地采用x m l 表示。在关系数据库中使用表、字段表示数据模式,而在x m l 中使用 元素、子元素及元素的属性来表示数据模式。在报表定义过程中,面对不同的数据源,必须 考虑数据模式表示的不一致性,这将使定义过程变得十分复杂。如果在定义时不用考虑数据 模式表示的差异,让报表设计人员只需要考虑模式表达的语义,就可以降低报表定义的复杂 程度。我们注意到,尽管数据模式表示的方式不一样,但这些数据模式对应的语义对象是一 样,都对应于现实中的实体和实体中的属性,这样就有可能设计一种更为抽象的、统一的数 据模型来表示不同数据源的数据模式。从而大大简化报表定义的过程。 4 1 数据语义对象 语义对象是各种抽象数据在现实世界中的展现,能够让用户容易理解、使用。数据的语 义对象要求能满足以下三个方面的要求:概括多种常用数据源的数据模型、能够描述数据模 型上的完整性约束、可以准确地表示数据模式的语义1 3 1 。 4 1 1 概括其他数据模型 报表定义过程中涉及到的数据源可能有很多种,但主要有关系数据库、x m l 文档两种, 对应的数据模型是关系数据模型和面向对象数据模型。数据仓库系统中当前最主要的数据源 是企业内部业务系统数据源,一般的业务系统都采用关系数据库( r d b m s ) ,常见的关系数 据库( r d b m s ) 包括o r a c l e 、d b 2 、s q ls e r v e r 、s y b a s e 、a c c e s s 、f o x p r o 等,这些数据库 采用相同的数据模型一关系模型。企业数据仓库和数据集市一般也采用o r a c l e 、d b 2 、s q l s e r v e r 、s y b a s e 等大型关系数据库,这些数据库也是关系模型。x m l 由于其很好的描述性 和规范性,越来越多的被用于作为w e b 数据的表示和传输交换标准,甚至现在有人提出基 于x m l 的w e b 数据仓库。x m l 是基于面向对象模型,因此面向对象模型也是数据仓库化 中涉及的一种重要数据模型。统一数据模型最主要的是能描述关系和面向对象数据模型中的 数据模式。 4 1 2 描述数据模型上完整性约束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 25秋新人教版英语七年级上册 Starter Unit 1同步练习(含答案)
- 江苏语文自考试题及答案
- 2025年物业维修基金管理合同范本
- 2025年广西玉林市公需课培训(专业技术人员继续教育)试题及答案
- 商业伦理考试题库及答案
- 陕西定向选调考试真题及答案
- 番禺附中考试题目及答案
- 武胜县高考试卷真题及答案
- 软件开发员笔试题及答案
- 2025年婴幼儿照护赛竞赛试题附答案
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 2021年一级注册消防工程师继续教育试题答案
- 急危重病人营养与代谢支持
- 甲醇理化性质及危险特性表MSDS
- GB/T 7216-2009灰铸铁金相检验
- GB/T 5796.3-1986梯形螺纹基本尺寸
- 华北理工大学2016年《互换性及技术测量》期末考试复习题
- 医学影像学总论-X线课件
- 大班科学《神奇的洞洞》课件
- 第二次全国陆生野生动物资源调查技术规程
评论
0/150
提交评论