收藏 分享(赏)

TPC-H 标准 中文版.doc

上传人:tangtianxu1 文档编号:2978811 上传时间:2018-10-01 格式:DOC 页数:101 大小:1.20MB
下载 相关 举报
TPC-H 标准 中文版.doc_第1页
第1页 / 共101页
TPC-H 标准 中文版.doc_第2页
第2页 / 共101页
TPC-H 标准 中文版.doc_第3页
第3页 / 共101页
TPC-H 标准 中文版.doc_第4页
第4页 / 共101页
TPC-H 标准 中文版.doc_第5页
第5页 / 共101页
点击查看更多>>
资源描述

1、1TPC BENCHMARK H(决策支持)标准规范修订版 2.0.0事务处理性能理事会(TPC)2致谢TPC 感谢 TPC-D 分会成员公司的工作,他们开发的第二版 TCP-D 规范是第一版 TCP-H的基础。TPC-D 分会包括来自 Compaq,Data General,EMC,HP,IBM,Informix,Microsoft,NCR,Oracle,Sequent,SGL,Sun,Sybase,和 Unisys 各大公司的代表。另外,TPC 还要感谢 TCP-D 分会的顾问 Jack Stephens先生的贡献,感谢他在标准规范和 DBGEN 开发方面的工作。TPC 成员文档历史日期

2、版本 描述1999 年 2 月 26 草案 1.0.0 通过邮件投票得到的标准规范的草案1999 年 6 月 24 修订版 1.1.0 对标准规范的第一个小修改2002 年 4 月 25 修订版 1.4.0 对关键字的说明2002 年 7 月 12 修订版 1.5.0 在 8.6 节附加了关于硬件 EOL 的东西2002 年 7 月 15 修订版 2.0.0 通过邮件投票得到的三年维护定价的草案TPC BENCHMARK , TPC-H , QppH 和 QhpH 都是事务处理委员会的标志。任何团体都可以免费复制本文的全部或部分,或者将本分的全部或部分分发给任何其他团体,只要:1、 复制和分发

3、的主要目的是传播 TPC 的材料;2、 TPC 的版权提示,出版物的标题以及发表日期,还有其他提示都出现在复制品中以表明它是得到 TPC 允许的。其它想复制或分发本文(包括哪些包含 TPC 问档内容但非 TPC 文档、规范或报告)而又不满足以上两个条件的团体必须得到 TPC 的书面许可。3目录致谢 2TPC 成员 2目录 3条款 0:概述 50.1 前言 50.2 一般系统实现原则 60.3 一般测量原则 7条款 1 数据库逻辑设计 71.1 商业和应用环境 71.2 数据库实体,关系和特性 81.3 数据类型定义 91.4 表的规划 .101.5 执行的规则 .131.6 数据透明访问的要求

4、 .15条款 2.查询和更新函数 152.1 查询的一般要求和定义 .152.2 查询一致性 .172.3 查询确认 .202.4 价格摘要报告查询(Q1) .202.5 最小代价供应者查询(Q2) .212.6 运送优先权查询(Q3) .242.7 订单优先权检查查询(Q4) .252.8 当地供应者数量查询(Q5) .262.9 预测收入变化查询(Q6) .272.10 货运量查询(Q7) 282.11 国家市场份额查询(Q8) 292.12 产品类型利润估量查询(Q9) 312.13 返回项目报告查询(Q10) .322.14 重要库存标志查询(Q11) .342.15 货运模式和命令优

5、先查询(Q12) .352.16 消费者分配查询(Q13) .362.17 促进效果查询(Q14) .382.18 促进效果查询(Q15) .392.19 零件/供应商关系查询(Q16) 402.20 小量订单收入查询(Q17) .422.21 大订单顾客查询(Q18) .422.22 折扣收入查询(Q19) .442.23 潜在零件促进查询(Q20) .452.24 不能按时交货供应商查询(Q21) .472.25 全球销售机会查询(Q22) .482.26 更新函数的一般要求 502.27 新销售更新函数(RF1) .5142.28 旧销售更新函数(RF2) .512.29 数据库处理进程

6、 51条款 3:数据库系统特性 .523.1 ACID 特性 523.2 原子性需求 .543.3 一致性需求 .543.4 隔离性需求 .543.5 持久性需求 .57条款 4 缩放和数据生成 594.1 数据库定义和扩展 .594.2 DBGEN 和数据库填充 .604.3 数据装载时间 .68条款 5. 性能度量和执行规则 .705.1 术语定义 .705.2 配置规则 .705.3 执行规则 .725.4 度量 .76条款 6SUT 和驱动器 786.1 测试配置模型 .786.2 被测试系统(SUT)定义 796.3 驱动器定义 .80条款 7定价 .817.1 被定价的系统 .81

7、7.2 定价方法 .83条款 8完全公开报告 .858.1 报告要求 .858.2 格式指导 .858.3 完全公开报告的内容 .868.4 执行总结 .898.5 完整的公开报告的可用性 .928.6 完整的公开报告的修订 .92条款 9 审计 939.1 一般性规则 .939.2 审计员的审核表 .94附录 A:排序集 .96附录 B:通过确认的查询变形 .97附录 C:查询确认 100附录 D:数据和查询产生程序 100附录 E:简单执行摘要 1005条款 0:概述0.1 前言TPC Benchmark H(TPC-H)是一个决策支持的基准,它由一系列面向商务应用的查询和并行数据修改组成

8、。基准里选择的查询和组成数据库的数据在商业上都具有广泛的代表性并且易于实现。本基准阐明了决策支持系统的三个方面:分析大量的数据;执行高复杂度的查询;回答关键的、经常需要回答的商业问题。通过在可控环境下执行一系列针对标准数据库的查询,TPC-H 评估各种决策支持系统的性能。TPC-H 查询:回答现实商业问题;模拟生成随机查询(比如通过点击图形界面产生的查询) ;比大多数 OLTP 事务复杂得多;包括各种各样的操作和选择性限制;在受测试系统的数据库服务器端产生高密度的活动;在某种遵守特定入口和有一定规模的数据库中执行;实现的时候带有由于与在线产品数据库同步而产生的限制。TPC-H 操作模型如下:对

9、于众多终端用户的查询和对数据库中所有表的修改而言,除了少量的维护时间之外,数据应该是每周 7 天,每天 24 小时不停工作的;在 OLTP 数据库执行更新操作的过程中,TPC-H 数据库跟踪 OLTP 数据库的状态,这些更新操作会成批提交大量影响决策支持数据库某些部分的修改操作;存储在 TPC-H 数据库中的商业数据的共性导致查询和更新操作会在任何时候被执行,并且二者存在着一定的联系。另外,因为查询和更新可能并发执行,所以查询和更新操作的混合又受 ACID 特性的限制;为了达到性能和操作要求的最佳折衷,数据库管理员可以为查询和修改操作设定锁级别和并发调度规则。拥有 10000 个供应商的商业数

10、据,这是运行本测试所要求的最小数据库。它的容量是一千万条记录也就是大约 1G 的数据量。像在 4.1.3 节定义的那样,运行基准测试可能会使用更大的数据库容量(比如 100G) 。TPC-H 报告的性能度量单位称作 TPC-H 每小时完成复合查询性能指标,简称QphHSize(Size 是测试数据库的大小) ,这一指标反映了系统处理查询的多方面的能力,这些方面包括执行查询所选择的数据库的大小,单步提交时的查询能力,以及多用户并行提交时的查询吞吐量。TPC-H 价格性能比单位简写为$/QphHSize。为了与 TPC-H 标准一致,对于特定的配置,所有的对 TPC-H 结果的查询必须包含所有要求

11、报告的部分(见 5.4.6 节) 。TPC-H 认为对于不同数据库大小的 TPC-H 结果的比较是具有误导性的,并且不主张这样的比较。TPC-H 数据库必须使用市场上销售的数据库管理系统(DBMS),并且查询的执行是通过一个使用动态 SQL 语言的接口。本规范适用于各种不同的 SQL 语言,因此并不要求实现者完完全全的实现标准 SQL。TPC-H 使用和其他基准相似的术语和单位,这些术语和单位由 TPC 和其他组织共同创建。这种在术语上的相似性并不是说 TPC-H 测试结果和其他测试结果具有可比性,唯一可6与 TPC-H 结果相比较是其他采用同一修订版的 TPC-H 结果。虽然本基准提供了一个

12、能够代表很多决策支持系统的环境,但是并没有反映决策支持的所有要求。另外,客户所取得的性能和销售商标明的性能的接近程度强烈依赖于客户应用环境和 TPC-H 环境的相似程度。这种从测试而来的相对性能与在其他工作量或环境下的性能不一定一致。任何对于其他环境下性能的推断是不可取的。测试结果很大程度上依赖于工作负荷,特定的应用要求,以及系统的设计与实现。系统性能会因为这样那样的因素而改变。因此,当用户在考虑关键能力计划或产品评估决定时 TPC-H 不应该被用作具体用户应用测试的代替品。测试发起者可以提供多个系统设计,只要它们遵守第 6 章描述的模型。像第 8 章说明的那样,系统实现细节的完整公开报告(F

13、DR)必须和测试结果同时提供。注释 1:为了保证主文档的可读性而被分离出去的注释和附录也是本标准的一部分,它们的规定也必须被遵守。注释 2:有些附录的内容只提供了电子档,而不包含在本文档的印刷品中。0.2 一般系统实现原则TPC 测试的目的是为商业界使用者提供客观的性能数据,为了达到这个目的,TPC 测试规范要求测试由系统,产品,技术以及定价多个部分组成,并且这些:是用户可以普遍得到的;是和某个 TPC 基准所代表的市场类别相一致的;对于相应的市场类别里的用户而言,较容易实现。只要满足上面的要求,鼓励使用新的系统,产品,技术以及定价,但是严禁使用主要目的是为提高 TPC 测试性能而对于实际应用

14、环境毫无实际用途的测试系统,产品,技术以及定价(以后统称为系统实现) 。换句话说,就是所有仅以提高测试成绩为目的而不是以提高实际性能或改善实际定价为目的的“测试专用”系统实现是禁止的。根据下面的特征可以判断某个系统实现是不是“测试专用” 。没必要每点都满足,但是证据越多就越容易甑别一个不可接受的系统实现。在这样一个复杂问题上作出判断并不需要绝对的确定或是基于某个合理疑点上的确定。这个问题必须这样回答:“基于手头上的证据,大部分的证据是否表明本系统实现是“测试专用” 。 ”下面的这些特征可以判断一个系统实现是否是“测试专用”:a) 这个系统实现是不是普遍可得,有没有证明文件和技术支持?b) 在

15、TPC 测试之外,这个系统实现在使用或应用上有没有重大的会限制它的应用的约束?c) 整个系统实现或部分系统实现是不是很蹩脚的集成到更大的产品中?d) 这个系统实现是不是专门利用了 TPC 测试的有限性(如查询分布情况,查询混合,并发或竞争,隔离要求等)?而在某种意义上这种针对性措施对于测试所对应的应用环境而言并没有广泛的实用性。e) 这个系统实现是不是不为供应商看好?(这包括不能够成功地升级到和同类产品与技术水平相近地系统。 )f) 这个系统实现有没有要求最终用户,程序员或系统管理员非常的熟练?g) 对于商家而言定价是不是非同寻常,或者和正常的商业行为而言定价是不是非同寻常?如下的定价行为是可

16、疑的:只有极少的客户可以得到的折扣;折扣被证明是非同寻常的;少量的得到超过 25%的折扣而大量则会得到 50%的折扣;7定价是特价或抛售;对于折价商品在产品运输,质保或维护上有非同寻常的限制;注释:本处列出的特征没有打算包括驱动和系统实现的特殊层,因为它们不一定是商业软件,而且它们有自己特殊的要求和在第六章中列举的限制。在第六章列出的特征和禁令用来判断驱动或系统实现的特殊层是不是“测试专用” 。0.3 一般测量原则TPC 测试结果试图准确表现系统性能。因此在测量结果时应该遵守某些原则。测量时用到的步骤或方法不是在规范中明确描述就是留给测试发起者决定。如果在规范中没有描述,那么测量的步骤和方法必

17、须满足以下要求:方法是公认的工程惯例或标准;方法不会增强结果;测量结果所使用的仪器必须按照质量标准校准;在报告结果中的异常时要精确而坦率,即使在测试要求中并没有特殊要求。注释:鼓励使用新方法只要它们满足上面的要求。条款 1 数据库逻辑设计1.1 商业和应用环境TPC Benchmark H 测试由一系列商业查询组成,这些查询在某种意义上代表复杂的商业分析应用。这些查询给出了一个实际的环境,描绘了批发商的活动以帮助读者将该基准的组件联系起来。TPC-H 不代表任何特定商业领域里的活动,而是可以被应用到任何需要管理,销售或在全球范围销售某种商品的行业。 (比如汽车租赁,食品销售,供应商等) 。但

18、TPC-H 并不是如何构建实际信息分析系统的模型。测试的目的是减少在信息分析应用中出现的操作的多样性,同时又保留应用最根本的性能特征,也就是:系统的利用率和操作复杂度。要完全管理一个商业分析环境需要执行大量不同类型和复杂度的查询。因为查询的运行时间,占用的系统资源以及被执行的频率(不符合决策支持的特性) ,许多查询的主要目的并不是性能分析。被选择的查询具有以下特征:它们非常复杂;它们选择各种各样的访问模式;它们带有在随机特性;它们检查可获得数据的大部分它们互不相同它们含有查询参数并在执行时变化所选择的查询要为下面各类商业分析提供答案:定价和促销;供货和需求管理;利润和收入管理;顾客满意度研究;

19、市场份额研究;运输管理。虽然重点是信息分析,但本测试也认可数据库定期更新的需要。这个数据库既不是商8业运作数据库的一次快照也不是一个支持 OLTP 程序并行操作的数据库。这个数据库必须能够全天候支持对所有表的查询和更新。虽然本测试模拟了一个视更新操作为数据维护不可分割的部分的商用环境。但是实际上,测试中的更新操作没有模拟商用环境的这个方面。它的目的更主要是展示 DBMS 的更新能力,同时评估维护辅助数据结构的性能代价,比如次索引。注释:本测试不包含任何用来验证数据库连续性的测试,也没有特定的系统功能可以设置为用来测试数据库的连续性。持续性和全天候工作能力的定义包含在测试规范中,这为预期的决策支

20、持系统描绘了一幅更完美的图画。一个系统实现即使没有全天候工作的能力,但只要它满足规范中描述的要求也能产生相应的测试结果。图一:上图说明了 TPC-H 所对应的商用环境,并且突出了 TPC-H 测试和其他 TPC 测试的根本区别。其他 TPC 基准模拟了商用环境的操作端,在这一端事务以实时的基础被执行。而 TPC-H 测试则模拟了商用环境的分析端,在这一部分计算出未来走势、产生了精炼的数据。然后这些东西被用于产生合理的商业决策。在 OLTP 测试中原始数据从四面八方流向 OLTP 数据库,在这里这些数据会保留一段时间。在 TPC-H 测试中,决策支持数据库(DSS)定期进行更新操作,它里面的内容

21、被各式各样的决策者查询使用。1.2 数据库实体,关系和特性TPC-H 数据库的组成被定义为由八个单独的表(基本表)组成。这些表的列与列之间的关系举例如图 2:TPC-H 模式图 2:TPC-H 模式决策者商业分析商业操作OLTP 事务OLTP数据库决策支持数据库9图例:每个表名后面的括号内为这个表的列名的前缀;箭头指出表与表之间的一对多的关系;每个表名下方的数字或公式表示表的行数。一些是 SF(Scale Factor)中的因子,用来获得数据库的大小。在 LINEITEM 表中的行数是近似值(详见 4.2.5) 。1.3 数据类型定义1.3.1 下列数据类型将应用于每个表的列的清单中:Iden

22、tifier注释:一个默认的数据类型是整形。然而在 SF 大于 300 时,一些值将超出所支持的 4个字节的整数。用户必须使用一些其他的数据类型比如 8 个字节的整数、小数或者字符串类型来实现。Integer 意思是必须为整数(比如值的增长为 1) ,取值范围为-2,147,483,646 到2,147,483,647。Decimal 意思是必须能够描述取值范围从-9,999,999,999.99 到+9,999,999,999.99内、数值增长为 0.01 的所有有理数。Big Decimal 是扩展的 Decimal 数据类型,它具有的附加特性是它必须足够大以至于能够描述存放在临时表中创建

23、的查询变量的总数。Fixed Text,size N 是用来存储一个固定长度为 N 的字符串类型。注释:如果字符串本身小于长度 N,那么剩余的空间必须被存储在数据库中,或者数据库自动加上一些空间使得 CHAR_LENGTH()函数的返回值为 N。Variable text, size N 是该列可以存储变量长度最长为 N 的字符串变量。被定义为“Variable text, size N”的列可以和定义为“fixed text, size N”一样执行。10Date 是一个可以被描述为 YYYY-MM-DD 的值,它所有的字符均为数字。一个日期必须能够描述连续的 14 年里的每一天,但是对日期

24、的内部描述没有特殊的要求。注释:用户在选择数据类型时,申请的详细的数据类型定义必须由所有定义在模式中的数据类型的情况组成,除了标识列,它必须满足数据库缩放比例的要求。1.3.2 在这篇文档中使用的 SF 标记是用来描述数据库的比例因子的(详见条款 4) 。1.4 表的规划以下的列表定义了每个表所需要的结构(列的清单) 。主键的注释及外键引用仅仅只是为了说明,而不是指定实现要求,例如完整性约束。PART 表的规划列名 数据类型需求 注释P_PARTKEY identifier SF*200,000P_NAME variable text, size 55P_MFGR fixed text, si

25、ze 25P_BRAND fixed text, size 10P_TYPE variable text, size 25P_SIZE integerP_CONTAINER fixed text, size 10P_RETAILPRICE decimalP_COMMENT variable text, size 23主键: P_PARTKEYSUPPLIER表的规划:列名 数据类型需求 注释S_SUPPKEY identifier SF*10,000S_NAME fixed text, size 25S_ADDRESS variable text, size 40S_NATIONKEY ide

26、ntifier 外键引用 N_NATIONKEYS_PHONE fixed text, size 15S_ACCTBAL decimalS_COMMENT variable text, size 101主键: S_SUPPKEYPARTSUPP 表的规划列名 数据类型需求 注释PS_PARTKEY identifier 外键引用 P_PARTKEYPS_SUPPKEY identifier 外键引用 S_SUPPKEYPS_AVAILQTY integerPS_SUPPLYCOST decimalPS_COMMENT variable text, size 199主键: PS_PARTKEY,

27、 PS_SUPPKEYCUSTOMER 表的规划列名 数据类型需求 注释11C_CUSTKEY identifier SF*150,000C_NAME variable text, size 25C_ADDRESS variable text, size 40C_NATIONKEY identifier 外码参照 N_NATIONKEYC_PHONE fixed text, size 15C_ACCTBAL decimalC_MKTSEGMENT fixed text, size 10C_COMMENT variable text, size 117主键: C_CUSTKEYORDERS 表的

28、规划列名 数据类型需求 注释O_ORDERKEY identifier 少量的计算 SF*1,500,000 O_CUSTKEY identifier 外键引用 C_CUSTKEYO_ORDERSTATUS fixed text, size 1O_TOTALPRICE decimalO_ORDERDATE dateO_ORDERPRIORITY fixed text, size 15O_CLERK fixed text, size 15O_SHIPPRIORITY integerO_COMMENT variable text, size 79主键: O_ORDERKEY注释:并不是所有的顾客都

29、会有订单。事实上,数据库中大约 1/3 的用户不会有任何订单。这些订单随机的分配给 2/3 的用户(详见条款 4)。这样做的目的是为了在加入两个或更多的表时,数据库有能力操作“死数据” 。LINEITEM 表的规划列名 数据类型需求 注释L_ORDERKEY identifier 外键引用 O_ORDERKEYL_PARTKEY identifier 外键引用 P_PARTKEY,和 L_SUPPKEY 混合引用(PS_PARTKEY, PS_SUPPKEY)L_SUPPKEY identifier 外键引用 S_SUPPKEY,和 L_PARTKEY 混合引用外键(PS_PARTKEY, P

30、S_SUPPKEY)L_LINENUMBER integerL_QUANTITY decimalL_EXTENDEDPRICE decimalL_DISCOUNT decimalL_TAX decimalL_RETURNFLAG fixed text, size 1L_LINESTATUS fixed text, size 1L_SHIPDATE dateL_COMMITDATE dateL_RECEIPTDATE dateL_SHIPINSTRUCT fixed text, size 25L_SHIPMODE fixed text, size 1012L_COMMENT variable t

31、ext size 44混合的主键: L_ORDERKEY, L_LINENUMBERNATION 表的规划:列名 数据类型需求 注释N_NATIONKEY identifier 组合 25 nationsN_NAME fixed text, size 25N_REGIONKEY identifier 外键引用 R_REGIONKEYN_COMMENT variable text, size 152主键: N_NATIONKEYREGION 表的规划:列名 数据类型需求 注释R_REGIONKEY identifier 组装 5 regionsR_NAME fixed text, size 25

32、R_COMMENT variable text, size 152主键: R_REGIONKEY1.4.2 约束这些约束的使用是可选的。对于定义主键和外键或者检查约束没有指定的要求。然而,一旦使用了约束,它们必须满足以下的要求:它们必须使用 SQL 指定。没有指定的实现要求。比如:CREATE TABLE, ALTER TABLE,和CREATE TRIGGER 都是合法的语句;约束必须语句级或者事务级上执行;在装载测试完成之前,所有定义的约束都必须被执行并且生效(详见 5.1.1.2) 。下面列出的任何约束的子集都必须在下面详细说明,不能使用任何附加的约束。1.4.2.1 Nulls:任何列

33、都可以使用 NOT NULL 属性。1.4.2.2 主键:下列主键必须定义为主键(使用 PRIMARY KEY 句子或者其他等价的定义): P_PARTKEY; S_SUPPKEY; PS_PARTKEY, PS_SUPPKEY; C_CUSTKEY; O_ORDERKEY; L_ORDERKEY, L_LINENUMBER; N_NATIONKEY; R_REGIONKEY.强制一列(或者一组列)包含唯一性的值仅仅只能在上面列出的主键中执行。1.4.2.3 外键:我们可以定义任何一个在条款 1.4.1 中列出的外键。对于添加和删除(比如 RESTRICT, CASCADE, NO ACTIO

34、N)没有特殊的要求。Check 约束:可以定义它来限制数据库的内容。为了支持进一步的改进,检查约束必须不依赖于每个列的已知的枚举值。下面列出了检查约束允许的定义表达式:1.键为非负值1.P_PARTKEY = 02.S_SUPPKEY = 0133.C_CUSTKEY = 04.PS_PARTKEY = 05.R_REGIONKEY = 06.N_NATIONKEY = 02. 开区间约束1.P_SIZE = 02.P_RETAILPRICE = 03.PS_AVAILQTY = 04.PS_SUPPLYCOST = 05.O_TOTALPRICE = 06.L_QUANTITY = 07.L

35、_EXTENDEDPRICE = 08.L_TAX = 03. 封闭区间的约束1.L_DISCOUNT 的范围从 0.00 到 1.004. 多列约束1.L_SHIPDATE 符号。符号的定义参见 1.3.1 节。2.1.2.5 在一个可执行查询文本中产生的任何实体都必须在这个可执行查询文本中删除。2.1.2.6 一个逻辑表空间是一系列逻辑上邻近的、不可分割的物理存储设备的集合。2.1.2.7 如果在查询过程中使用了 CREATE TABLE 语句,这些 CREATE TABLE 语句必须用一个表空间引用进行扩展(如,IN ) 。对每一个表,必须使用唯一的表空间。注释:表空间仅仅应用于包含 C

36、REATE TABLE 语句的变量。2.1.2.8 在查询执行过程中创建的所有表必须满足第 3 章定义的 ACID 特性。2.1.2.9 查询2,3,10,18和21要求返回给定的行数(如”Return the first 10 selected rows”) 。如果N是要返回的行数,当符合条件的行数不小于N时,查询必须精确返回前N行;如果符合条件的行数小于N,则返回所有的行。有三种方法满足这种要求。一个测试发起者必须采用其中的一种方法,利用该方法来处理所有要求返回指定行数的查询。1.被测试发起者的交互式 SQL 界面支持的厂商特有的控制语句(如 SET ROWCOUNT n)可以用来限制返回

37、的行数。2.被具体实现层(见 6.2.4)识别、用于控制一个获得行的循环的控制语句可以用来限制返回的行数(如,while rowcount”或者”WITH HEADING ” 。Select 表达式别名的使用是可选择的。c)日期表达式对于包含有操纵日期的表达式的查询,可以用厂商具体语法来代替SQL-92 语法。替换语法必须有等价的语义行为。可接受的实现的例子用”YEAR ()”来从日期列中抽取出年,或者用”DATE ()+3 MONTHS”来给一个日期增加 3 个月。d)GROUP BY 和 ORDER BY对于对一个视图、嵌套的表表达式或者查询结果表进行分组或排序的查询,商家可以用对 GRO

38、UP BY 和 ORDER BY 子句的 SQL 扩展来代替视图、嵌套的表表达式或者查询结果表的别名。可接受的实现的例子包括”GROUP BY ”、” GROUP BY ”、 ”ORDER BY ”和” ORDER BY ” 。e)命令分隔符为了标识查询的结束和请求执行,在可执行查询文本的末尾必须插入附加的语法记号。这样的命令分隔符可以是分号或单词“GO” 。f)输出格式函数用来影响输出格式或中间运算结果精度的标量函数可以应用于查询结果集。g)事务控制语句CREATE/DROP TABLE 或者 CREATE/DROP VIEW 语句后面可以跟着一个 COMMIT WORK 语句或等价的卖者具

39、体事务控制语句。h)相关名字表的别名可以添加到可执行查询文本中。表的别名之前的关键字”AS”可以省略。i)显示的 ASC在 ORDER BY 子句中,ASC 可以显示地附加给列。j)可以用符合 2.1.2.6 节的要求的表空间引用来扩展 CREATE TABLE 语句。k)在一个给定的实现中,在标识符的名字与 SQL-92 的保留字冲突的情况下,定界标识符可能被使用。l)关系操作符查询中使用的关系操作符,如”、 ”= date DATEand o_orderdate = date DATEand o_orderdate = date DATEand l_shipdate date DATE +

40、 interval 1 yearand l_discount between DISCOUNT - 0.01 and DISCOUNT + 0.01and l_quantity QUANTITY;2.9.3 替换参数下面的替换参数的值必须被产生以用来形成可执行查询文本:1 DATE是从1993, 1997中随机选择的一年的1月1日;2 DISCOUNT在区间0.02, 0.09中随机选择;3 QUANTITY在区间24, 25中随机选择。2.9.4 查询确认确认查询执行时必须使用下面的替换参数值,而且必须产生下面的输出数据:替换参数值:1. DATE = 1994-01-01;2. DISCO

41、UNT = 0.06;3. QUANTITY = 24.查询确认的输出数据:2.10 货运量查询(Q7)此查询确定在两国之间货运商品的量以帮助重新谈判货运合同。2101商业问题此查询得到在1995年和1996年间,零件从一国供应商被运送给另一国的顾客,两国货运项目总的折扣收入。查询结果列出供应商国家,顾客国家,年度,那一年的货运收入,并按供应商国家,顾客国家和年度升序排列。2102查询函数定义selectsupp_nation,cust_nation,l_year, sum(volume) as revenuefrom (selectn1.n_name as supp_nation,n2.n_

42、name as cust_nation,extract(year from l_shipdate) as l_year,l_extendedprice * (1 - l_discount) as volumefromsupplier,lineitem,orders,customer,nation n1,nation n2wheres_suppkey = l_suppkey29and o_orderkey = l_orderkeyand c_custkey = o_custkeyand s_nationkey = n1.n_nationkeyand c_nationkey = n2.n_nati

43、onkeyand (n1.n_name = NATION1 and n2.n_name = NATION2)or (n1.n_name = NATION2 and n2.n_name = NATION1)and l_shipdate between date 1995-01-01 and date 1996-12-31) as shippinggroup bysupp_nation,cust_nation,l_yearorder bysupp_nation,cust_nation,l_year;2103替代函数下面的替代参数的值必须被产生和用来建立可执行查询文本:1 NATION1 是在条款4

44、.2.3中定义N_NAME值的列表中的任意值;2 NATION2 是在条款4.2.3中定义N_NAME值的列表中的任意值,且必须和条1中NATION1的值不同。2104 查询确认为了确认数据库资格,查询必须用以下值来作为替代参数,且必须产生以下的输出数据:替代参数的值:1 NATION1FRANCE;2 NATION2GERMANY。查询确认输出数据:2.11 国家市场份额查询(Q8)此查询显示在过去的两年中,一个给定零件类型在某国某地区市场份额改变了多少。2111 商业问题某国某地区的市场份额定义为某国某地区供应商供应的特定种类的产品收入的百分比,是l_extendedprice *(1-l

45、discount)的和。这个查询决定 1995 年和 1996 年的市场份额。2112 查询函数定义30selecto_year,sum(casewhen nation = NATIONthen volumeelse 0end) / sum(volume) as mkt_sharefrom (selectextract(year from o_orderdate) as o_year,l_extendedprice * (1-l_discount) as volume,n2.n_name as nationfrompart,supplier,lineitem,orders,customer,n

46、ation n1,nation n2,regionwherep_partkey = l_partkeyand s_suppkey = l_suppkeyand l_orderkey = o_orderkeyand o_custkey = c_custkeyand c_nationkey = n1.n_nationkeyand n1.n_regionkey = r_regionkeyand r_name = REGIONand s_nationkey = n2.n_nationkeyand o_orderdate between date 1995-01-01 and date 1996-12-

47、31and p_type = TYPE) as all_nationsgroup byo_yearorder byo_year;2113替代参数下面的替代参数的值必须被产生和用来建立可执行查询文本:1 NATION是在条款4.2.3中定义N_NAME的值的列表中的任意值。2 REGION是在条款4.2.3中为R_NAME定义的值,R_RGIONKEY和N_REGIONKEY在那里为选中的条1的NATION协调。3 TYPE是在条款4.2.2.12中定义类型的三音节字符串列表中的任意值。2114 查询确认为了确认数据库资格,查询必须用以下值来作为替代参数,且必须产生以下的输出数据:替代参数的值:1 NATIONBRAZIL;2 REGIONAMERICA;3 TYPEECONOMY ANODIZED STEEL查询确认输出数据:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 专业基础教材

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报