ISOIEC 19075-22021 信息技术.数据库语言SQL的使用指南.第2部分时间相关信息标准立项发展报告_第1页
ISOIEC 19075-22021 信息技术.数据库语言SQL的使用指南.第2部分时间相关信息标准立项发展报告_第2页
ISOIEC 19075-22021 信息技术.数据库语言SQL的使用指南.第2部分时间相关信息标准立项发展报告_第3页
ISOIEC 19075-22021 信息技术.数据库语言SQL的使用指南.第2部分时间相关信息标准立项发展报告_第4页
ISOIEC 19075-22021 信息技术.数据库语言SQL的使用指南.第2部分时间相关信息标准立项发展报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息技术数据库语言SQL的使用指南第2部分:时间相关信息标准立项发展报告StandardizationDevelopmentReport:Informationtechnology—GuidancefortheuseofdatabaselanguageSQL—Part2:Time-relatedinformation摘要随着信息技术的飞速发展与数字化转型的深入推进,时间相关信息在各类数据库应用系统中的重要性日益凸显。时间属性不仅是数据记录的基本维度,更是金融交易、科学计算、物联网数据分析、业务流程管理等众多领域中进行精确查询、趋势分析和决策支持的关键要素。然而,由于SQL标准在不同版本中对时间数据类型和处理功能的规定存在差异,数据库开发人员在实际应用中面临着语法不兼容、语义理解困难以及跨平台移植性差等现实挑战。为有效应对上述问题,国际电工委员会(IEC)联合国际标准化组织(ISO)发布了ISO/IEC19075-2:2021标准,系统阐述了SQL标准中时间相关信息的使用指南。本报告对该标准的立项背景、编制原则、核心技术内容、主要参与单位及推广应用前景进行了全面梳理与深入分析。报告指出,该标准的发布填补了SQL时间信息处理领域权威指导文件的空白,为数据库开发人员、系统架构师及企业数据治理人员提供了统一的技术参考,对提升跨平台数据库应用的开发效率和数据处理的准确性具有重要的现实指导意义,有望在未来云计算与大数据技术持续演进的背景下发挥更加广泛的作用。关键词:SQL标准;时间相关信息;数据库语言;ISO/IEC19075;时间数据类型;标准化指南Keywords:SQLstandard;time-relatedinformation;databaselanguage;ISO/IEC19075;temporaldatatypes;standardizationguidance1引言1.1研究背景结构化查询语言(StructuredQueryLanguage,SQL)自20世纪70年代由IBM公司提出以来,经过数十年的发展与演进,已成为关系型数据库管理系统(RDBMS)的通用标准语言。国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会JTC1下属的SC32分技术委员会负责SQL标准的制定与维护工作,其发布的ISO/IEC9075系列标准是SQL语言的权威规范。在SQL标准的实际应用中,时间相关信息的处理一直是数据库技术中的重点与难点问题。时间数据类型(如DATE、TIME、TIMESTAMP)和相关的操作函数在各类业务系统中被广泛使用,涵盖了从简单的日期记录到复杂的时间区间查询、时区转换和时间序列分析等多种应用场景。然而,由于各数据库厂商在实现SQL标准时存在差异,且标准文档本身以规范性条文为主,缺少面向实际开发的指导性说明,导致数据库开发人员在处理时间相关信息时面临诸多困惑。1.2标准立项的必要性ISO/IEC19075系列标准旨在为SQL的使用提供指导性说明,其定位是“使用指南”而非“规范性要求”。该系列标准的第1部分(ISO/IEC19075-1)于2021年发布,主题为“SQL标准支持的语言”。作为该系列的第2部分,ISO/IEC19075-2:2021专门聚焦于时间相关信息的处理,其立项基于以下几方面需求:第一,SQL标准中关于时间信息处理的规范条文分散在多个部分中,缺乏系统性的整合与梳理。ISO/IEC9075系列包含多个部分,如第2部分(基础规范)、第3部分(调用级接口)、第7部分(多媒体应用)等,其中涉及时间信息的规则分布在不同的章节中,使用者难以快速定位和全面掌握。第二,时间信息的语义复杂且容易产生歧义。例如,不同数据库系统中日期时间函数的命名和行为存在差异,时间间隔(INTERVAL)的精度处理规则各不相同,时区信息的处理方式更是千差万别。这些问题需要通过指南性文件加以明确和澄清。第三,随着云计算、大数据和实时数据处理技术的快速发展,跨平台、跨数据库的应用需求不断增加,统一的时间信息处理规范对于保障数据一致性和系统互操作性具有重要意义。1.3标准定位与目标ISO/IEC19075-2:2021的定位是“技术报告”(TechnicalReport)类型标准,其目标并非取代或修改ISO/IEC9075中关于时间信息处理的规范性条文,而是为数据库开发人员、系统分析人员、数据库管理员以及数据治理专业人员提供一份权威的、系统的、便于理解的技术指导文档。该标准致力于架起SQL标准规范与工程实践之间的桥梁,帮助使用者准确理解和有效运用SQL标准中关于时间信息处理的能力。2标准编制概况2.1标准基本信息ISO/IEC19075-2:2021《信息技术数据库语言SQL的使用指南第2部分:时间相关信息》由ISO/IECJTC1/SC32(数据管理与交换分技术委员会)负责制定。该标准于2021年9月1日正式发布,标准状态为现行有效。其完整标题为“Informationtechnology—GuidancefortheuseofdatabaselanguageSQL—Part2:Time-relatedinformation”,分类号为信息技术用语言(35.060)。该标准的发布机构为国际标准化组织(ISO)与国际电工委员会(IEC)联合技术委员会,标准原文为英文版本,采用电子版加密PDF格式发行。2.2编制过程ISO/IEC19075-2:2021的编制工作遵循ISO/IEC导则所规定的技术报告制定流程。在标准起草过程中,SC32/WG3(数据库语言工作组)组织了来自各成员体的数据库技术专家参与讨论和文稿撰写工作。从立项到最终发布,该标准的编制历时约三至四年。编制工作起始于对SQL标准中时间相关信息使用需求的系统调研,随后逐步形成工作组草案(WD)、委员会草案(CD)和最终技术报告草案(DTR),经过多轮技术评审和意见征集,最终于2021年达成国际共识并正式发布。参与评审的专家来自美国、英国、德国、中国、日本等多个国家的标准化机构和主要数据库技术企业。2.3与其他标准的关系ISO/IEC19075-2:2021是ISO/IEC19075系列标准的组成部分。该系列标准当前包括以下部分:-ISO/IEC19075-1:2021:SQL标准支持的语言-ISO/IEC19075-2:2021:时间相关信息-ISO/IEC19075-3:2021:SQL/XML-ISO/IEC19075-4:2021:SQL/PSM(持久化存储模块)-ISO/IEC19075-5:2021:行模式识别-ISO/IEC19075-6:2021:SQL中使用子查询-ISO/IEC19075-7:2021:多态表函数-ISO/IEC19075-8:2021:SQL中的数据类型该标准与ISO/IEC9075系列标准保持高度一致性,可作为ISO/IEC9075系列技术规范的配套指导文件使用。同时,该标准与SQL标准中关于时间处理的相关内容相衔接,在保持技术中立性的基础上,对各类主流关系型数据库产品中时间信息处理的实现情况进行了适当说明。3标准的主要技术内容3.1标准框架ISO/IEC19075-2:2021围绕SQL标准中时间相关信息处理的主题,构建了系统完整的指南框架。标准主体内容包括以下几个主要章节:概述与范围、时间信息的类型体系、时间值的语义与表示、时间操作与函数、时区处理、时间间隔运算、时间查询模式以及应用建议等。该框架兼顾了基础概念讲解与实际应用指导的双重需求,形成了从理论到实践的完整知识链条。3.2时间数据类型体系标准首先对SQL中定义的时间相关数据类型进行了系统梳理与说明。SQL标准定义了以下几种核心时间数据类型:-DATE:日期类型,包含年、月、日三个字段,精度为天。-TIME:时间类型,包含时、分、秒字段,秒的小数精度可由实现定义,范围为0至9位小数。-TIMESTAMP:时间戳类型,同时包含日期和时间字段,能够精确记录某一时刻。-TIMEWITHTIMEZONE:带时区的时间类型,在TIME类型基础上增加时区偏移信息。-TIMESTAMPWITHTIMEZONE:带时区的时间戳类型,在TIMESTAMP基础上增加时区偏移信息。-INTERVAL:时间间隔类型,分为年-月间隔(YEAR-MONTH)和日-时间隔(DAY-TIME)两大类,用于表示两个时间点之间的持续时间。标准对上述每种数据类型的取值范围、精度规范、字段组成和存储语义进行了详细说明,并结合实际应用场景提供了使用建议。此外,标准还特别讨论了时间类型的比较规则、赋值规则以及类型转换规则等重要语义问题。3.3时间值语义与处理规则在时间值语义方面,标准重点阐述了SQL标准中时间信息处理中若干易混淆的概念:-时间精度:时间数据类型中秒的小数部分精度的定义方式、默认精度以及精度转换规则。-时间截断与舍入:时间值在进行类型转换或运算时如何处理精度损失。-间隔精度:INTERVAL类型中前导字段精度和秒精度等关键参数的定义与用法。-时间值的等值比较:不同时间类型之间进行等值比较时的语义规则,特别讨论了带时区与不带时区类型比较时的行为差异。通过上述详细阐述,标准帮助开发人员正确理解SQL中时间值的基本语义和边界情况,从而避免在应用开发中因对语义理解不一致而产生隐性错误。3.4时间运算与函数标准用较大篇幅介绍了SQL中关于时间信息的运算规则和内置函数。主要内容包括:-时间算术运算:时间值与间隔值的加减运算规则、时间值之间的减法运算以及间隔值之间的加减运算规则。-时间函数:包括提取函数(EXTRACT)、当前日期时间函数(CURRENT_DATE、CURRENT_TIME、CURRENT_TIMESTAMP、LOCALTIME、LOCALTIMESTAMP)等。标准对每种函数的功能、语法和返回类型进行了说明。-时间值构造与访问:如何从各字段构造时间值以及如何访问时间值中的特定字段。-时间截断函数:DATE_TRUNC等函数的使用方法及其在不同数据库产品中的兼容性差异。标准中的相关章节还针对多类典型时间运算场景给出了可执行示例,帮助用户直观理解运算规则的实际效果。3.5时区信息处理时区处理是时间信息应用中最容易出错、且各数据库产品差异最大的方面之一。ISO/IEC19075-2:2021专门对时区相关的内容进行了重点说明:-时区偏移:SQL标准中时区偏移(TIMEZONEINTERVAL)的表示形式、会话时区的设置方式及其作用范围。-带时区时间类型的运算规则:分析了带时区的时间类型在运算过程中时区的处理方式与转换规则。-夏令时问题:讨论了在采用夏令时制度的地区,时间值在不同时区之间转换时可能出现的歧义和边界情况。-会话时区与ATTIMEZONE子句:标准对ATTIMEZONE子句的功能进行了系统说明,该子句用于显式地将时间值从一个时区转换到另一个时区。标准建议,在处理跨时区业务场景时,应用系统应优先采用TIMESTAMPWITHTIMEZONE类型存储时间数据,以最大限度保证时间语义的一致性与准确性。3.6时间查询模式与应用建议在应用层面,ISO/IEC19075-2:2021总结了若干常见的时间相关查询模式,并为实际开发提供了规范性建议。典型的查询模式包括:时间区间重叠判断、连续时间段合并、按时间分组的聚合查询以及时间序列数据的窗口函数分析等。标准对每种模式进行了业务场景说明、语法实现讲解与性能优化提示,为开发人员提供了良好的参考范式。值得关注的是,标准给出了以下具有实践指导价值的建议:-对于需要跨时区使用的系统,应统一定义并规范时间数据的存储标准,推荐采用UTC时间进行存储,并在应用层完成时区转换。-在进行时间精度选择时,应结合业务实际需要确定秒的小数位精度,避免因精度过度设计导致存储空间和计算开销的不必要增加。-在设计数据库表结构时,应充分利用标准中提供的时间完整性约束机制以保证数据质量。-在涉及时间区间运算时,应注意边界条件的定义方式,避免出现“差一错误”(off-by-oneerror)等问题。4标准的主要参与单位4.1ISO/IECJTC1/SC32ISO/IECJTC1/SC32是负责数据管理与交换领域国际标准制定的分技术委员会。该委员会由来自全球各成员体的标准化专家组成,下设多个工作组,其中WG3负责数据库语言相关标准的制定与维护。ISO/IEC19075-2:2021正是由SC32/WG3组织起草和推进的。4.2主要参与企业及机构在ISO/IEC19075-2:2021的编制过程中,来自全球主要数据库技术企业和服务机构的专家深度参与了文稿撰写与技术评审工作。这些机构包括但不限于:-OracleCorporation(美国):作为全球领先的数据库技术提供商,Oracle的专家在SQL标准制定中具有长期而深入的技术积累。Oracle数据库产品对SQL标准时间类型与函数提供了全面支持,这为编制工作提供了丰富的工程实践经验。-IBMCorporation(美国):作为SQL语言的发源地,IBM长期深度参与SQL标准的制定工作。其DB2数据库产品在时间信息处理方面具有深厚的技术底蕴。-MicrosoftCorporation(美国):MicrosoftSQLServer数据库产品在全球拥有广泛的用户群体,其专家在标准的可用性和实用性方面提供了大量反馈建议。-SAPSE(德国):作为企业应用软件领域的领导者,SAP在业务系统中对时间信息处理有着深刻的理解和多样化的应用场景需求。-中国电子技术标准化研究院(中国):作为中国在ISO/IECJTC1/SC32的归口单位,该研究院组织国内专家参与了标准的讨论与投票工作,并在标准本地化应用推广方面发挥了积极作用。4.3重点参与单位介绍:OracleCorporation在ISO/IEC19075-2:2021的编制过程中,OracleCorporation在技术方案贡献、实践经验反馈和标准文稿编写方面发挥了十分关键的作用。该公司成立于1977年,总部位于美国加利福尼亚州红木城,是全球最大的数据库管理系统供应商之一。Oracle数据库自1979年发布首个商业版本以来,经过四十余年持续迭代,已形成覆盖OLTP(联机事务处理)到OLAP(联机分析处理)等全场景需求的成熟产品体系。在时间信息处理领域,Oracle积累了极为丰富的工程实现经验与技术方案。Oracle数据库中的DATE数据类型可同时存储日期和时间部分,TIMESTAMP类型支持最高9位小数秒精度,并提供对INTERVAL类型和时区操作的完备支持。Oracle还设计实现了原生SQL函数,在实现SQL标准语义的基础上增加了大量面向实际场景的扩展功能。在标准编制过程中,Oracle的专家团队积极贡献了关于数据类型设计、时区运算规则、函数行为定义等多方面的技术方案,并针对标准草案中涉及边界条件的条款提供了大量来自真实产品行为的验证数据和改进建议。这些工程实践经验对于提升ISO/IEC19075-2:2021的实用性和可操作性发挥了重要的推动作用。5标准实施的意义与展望5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论