- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
.....
word格式.整理版
第17章
在数据库应用系统中,数据查询始终是应用的基础和核心。数据利用和挖掘的常用方式就是从数据库中获取用户所需的业务数据,按照用户预定义的格式,通常以业务报表的形式提供给用户进行浏览、分析、统计、打印及转换,还可作进一步的处理。由于查询需求的多样性,不可能穷举所有的用户查询,当然也不能要求普通用户去直接拼写SQL语句,因此需要提供一个工具让用户可以自己进行查询的设计和定制。
17.6查询引擎
查询引擎是面向高级实施人员和专业开发人员的查询建模工具,可以全面支持复杂查询的设计和个性化的报表展现。查询引擎由两个功能点组成:查询引擎管理和查询引擎权限控制。
17.6.0 查询引擎基本概念及案例
17.6.0.1 基本概念
数据表、临时表、报表:
数据表是数据库里物理存在的表;
报表是符合用户要求的一个界面展现,它通常是一个二维的数据表格;
有时我们仅仅通过数据表无法直接查出报表要求的数据结果,这时可能需要通过数据表查询建立一些具有过渡性质的中间表,然后再通过这些中间表查出最终结果,这种起到过渡作用的表称为临时表。
数据字典:
数据字典提供数据库对象的逻辑属性,有助于提高查询定义的直观性和易用性。
内连接与外连接:
这是多表查询中的不同连接方式,其中外连接主要包括左连接(left out join)和右连接(right out join)两种。
左连接取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到内连接的结果上。右连接与左连接完全对称,“表A左连接表B”与“表B右连接表A”的效果是一样的。
以下述的表A和表B为例,它们以字段K作为键值进行不同连接后会得到不同结果集。
KV2
K
V2
01
100
03
300
05
500
表B
K
V1
01
10
02
20
03
30
表A
内连接(select A.K, A.V1, B.K, B.V2 from A inner join B on A.K=B.K)的结果是:
A.K
A.V1
B.K
B.V2
01
10
01
100
03
30
03
300
左连接(select A.K, A.V1, B.V2 from A left join B on A.K=B.K)的结果是:
A.K
A.V1
B.K
B.V2
01
10
01
100
02
20
03
30
03
300
右连接(select A.K, A.V1, B.V2 from A right join B on A.K=B.K)的结果是:
A.K
A.V1
B.K
B.V2
01
10
01
100
03
30
03
300
05
500
普通查询(简单查询)与复合查询:
复合查询和普通查询的关系如图所示。两者的查询结果都可以看成是临时表,其差别在于:普通查询是基于数据表定义查询,复合查询是基于已经定义好的查询来定义查询。
参数定义:
通常用于查询定义中SQL向导设计工具中的where条件表达式中,存在字符型和数值型(浏览时可直接录入)、字符枚举和数值枚举型参数(浏览时可下拉框录入),参照型参数(浏览时可参照录入)等
穿透:
当明细表与汇总表一起出现时,某种内在联系可从汇总数据联查明细数据,称穿透或钻取
分级汇总:
按分级列(具有一定级次的编码规则),对汇总列(数值型)进行各级汇总,并在各级末尾添加分级汇总列。
交叉:
按一定交叉规则进行旋转交叉或投影交叉
1)旋转交叉:行列不固定
存在一定交叉规则(指定交叉行、交叉列、交叉值字段)之后,报表全动态地实现数据交叉。常用多层列表头辅助体现交叉的维度,且交叉规则能够在运行态重新设定。
适用于无法预先确定交叉后列结构的报表;
2)投影类交叉:行列固定;每行、每列均对应一个筛选条件,而单元格第i行第j列的内容根据SQL语句“select 统计函数(字段) from 表 where (行条件i) and (列条件j)”查出,且是个唯一的值
交叉砝码:
交叉设置界面中的交叉砝码的作用是,描述交叉值字段对应的列出现在交叉列展开后的哪个层次上。
退化:
在投影交叉查询中的筛选条件中设置为退化的项;用于在运行态(浏览态)进行再次投影交叉时,其结果集中需显示的备用行或备用列。在第一次投影交叉查询结果中,退化项则既不出现在行头上,也不出现在列头上。
行间占比:
行间占比:指先按分组排序列进行分组排序,然后计算单元格与其所在分组小计值的比,或者为单元格与其所在列总合计值的比
列间占比:
列间占比:指比例=本列数值/多列总和
合并查询:
报表部分区域由查询结果填充、部分区域由手工填入,此类报表可通过“合并查询”模式完成。
您可能关注的文档
- 2014会计电算化理论课件.ppt
- 2014届高三数学一轮_两角和与差的三角函数.ppt
- 2015高一地理学考模拟卷ppt版附答案.ppt
- 2015届高考数学理科模拟卷参考题答案.doc
- 2015届高三政治一轮复习试题课件_第2单元第4课生产与经济制度汇编.ppt
- 2015届一轮复习试题课件《政治生活》_第九课__维护世界和平_促进共同发展.ppt
- 2015空间设计的科学研究方法(开篇和城市).ppt
- 2015年注册会计师《税法》复习试题资料_税种税率表考资料全.doc
- 2016.4.25卫生职称__临床医学检验技术中级(考点串讲4).ppt
- 2016_2017北京市海淀区高二地理会考模拟试卷与答案.doc
文档评论(0)