SQL-92标准 中文翻译
前言
ISO(国际标准化组织)是一个由国家标准机构(ISO成员机构)构成的世界性的联邦。通常由ISO技术委员会开展筹备国际标准的工作。如果成员机构关注的某个主题成立了技术委员会,那么成员机构有权派代表参加该委员会。与ISO有联络的国际组织,政府和非政府组织,也参与工作。在所有电工标准化的问题上,ISO与国际电工委员会( IEC )密切合作。
被技术委员会采纳的国际标准草案将会分发给各成员机构寻求认可,之后才能由ISO理事会接受为国际标准。按照ISO规程,需要参加表决的成员机构中至少75 %赞成,该草案才能通过。
国际标准ISO / IEC 9075:1992出自联合技术委员会ISO / IEC JTC1 ,信息处理系统。
它取消并取代国际标准ISO / IEC 9075:1989 ,Database Language-SQL,构成技术性修订。
该国际标准包含了七个告知性的附录: - 附录A (资料): SQL语言的分级; - 附录B (资料): 实现定义的要素; - 附录C (资料): 实现依赖的要素; - 附录D (资料): 不推荐使用的功能;
- 附录E (资料): 与ISO / IEC 9075:1989的不兼容; - 附录F (资料): SQL的维护和解释。 简介
该国际标准于1992年被批准。
该国际标准是从ISO/IEC 9075:1989(信息系统,数据库语言SQL完整性增强)发展而来,并取代了那个国际标准。该国际标准在详细说明中增加了大量重要的新特性和功能。一般情况下该标准与ISO/IEC 9075:1989标准兼容,也就是说,除了极少数例外,符合ISO / IEC 9075:1989标准的SQL语言也符合该国际标准,并且在两者实现上保持一致。在ISO / IEC 9075:1989和该国际标准之间,已知的不相容参考告知性附件E “与ISO / IEC 9075:1989的不兼容 ”。
在ISO/IEC 9075:1989和该国际标准之间,技术方面的改变包括现有功能的改进或增强和新功能的定义。现有功能的重要改进有: -直接调用SQL语言的更好的定义;
-改进的诊断能力,特别是新的状态参数( SQLSTATE ) ,诊断领域,并支持报表。
重要的新特性有:
1) 支持更多的数据类型(DATE, TIME, TIMESTAMP, INTERVAL, BIT string, variable-length character and bit strings, and NATIONAL CHARACTER strings), 2) 除了表示SQL语言本身以外,还支持字符集和更多的排序规则,
3) 支持更多的标量操作,如连接字符串和取子字符串的字符串操作,日期和时间操作,条件表达式的形成,
4) 在标量值查询表达式和表值查询表达式的使用上,增强了通用性和正交性, 5) 更多的set操作符(例如,union join, natural join, set difference, and set intersection), 6) 能够在方案中定义域,
7) 支持对方案的操作(特别是DROP和ALTER语句),
8) 支持在Ada、C、MUMPS语言中嵌入SQL语句(模块和嵌入式语法), 9) 更多的权限能力,
10) 更多的引用完整性的能力,包括引用的动作,检查约束中的子查询,单独的断言,以及用户控制约束的推迟, 11) 信息方案的定义,
12) 支持SQL语言的动态执行,
13) 支持某些设施所需的远程数据库访问(尤其是连接的管理语句和合格的方案名称), 14) 支持临时表,
15) 支持各级事务的一致性,
16) 支持数据类型转换(各种数据类型使用CAST表达式), 17) 支持滚动游标,
18) 具有标记的能力,以辅助应用程序的可移植性。
该国际标准的内容组织如下:
1) 第1条“范围” ,指定该国际标准的范围。
2) 第2条“规范参考” ,通过该国际标准的引用,标识额外的标准。这些标准构成该国际标准的规定。
3) 第3条“定义,记号,和约定” ,定义了该国际标准中使用的记号和约定。
4) 第4条“概念” ,给出在SQL定义中用到的概念。 5) 第5条“词法要素” ,定义语言的词法要素。 6) 第6条“标量表达式”,定义产生标量值的语言要素。 7) 第7条“查询表达式”,定义产生数据行和数据表的语言要素。 8) 第8条“谓词” ,定义语言的谓词。
9) 第9条“数据分配规则” ,指定检索数据或存储数据到数据库的分配规则,和set操作形成规则。
10) 第10条“附加的公用要素” ,定义用于语言各部分的附加的语言要素。 11) 第11条“方案的定义和操纵” ,定义创建和管理方案的能力。 12) 第12条“模块” ,定义模块和过程。 13) 第13条“数据操纵” ,定义数据操纵语句。 14) 第14条“事务管理” ,定义SQL事务管理语句。 15) 第15条“连接管理”,定义SQL连接管理语句。 16) 第16条“会话管理” ,定义SQL会话管理语句。 17) 第17条“动态SQL ” ,定义动态执行SQL语句的能力。 18) 第18条“诊断管理” ,定义诊断管理能力。
19) 第19条“嵌入式SQL ” ,定义在某些标准编程语言中嵌入SQL的语法。 20) 第20条“直接调用的SQL ” ,定义了SQL语言的直接调用。 21) 第21条“信息方案和定义方案” ,定义包含方案信息的可视化表。
22) 第22条“状态码” ,定义标识SQL语句执行状态的值和这些值返回的机制。 23) 第23条“一致性” ,定义了符合该国际标准的准则。
24) 附录A “SQL语言的分级” ,是一个告知性的附录。它列出了分级的规则,定义了入门级SQL和中级水平SQL。
25) 附录B , “实现定义的要素” ,是一个告知性的附录。它列出了在该国际标准正文中规定的数据库上的语法、含义或效果是部分或全部实现定义的特性,并描述了在各种情况下执行者应提供的确定信息。
26) 附录C,“实现依赖的要素”,是一个告知性的附录。它列出了在该国际标准正文中明确规定的数据库上的含义和效果是实现依赖的特性。
27) 附录D,“不推荐使用的功能”,是一个告知性的附录。它列出了技术委员会打算将来在该国际标准的修订版中,不会出现的功能。
28) 附录E,“与ISO / IEC 9075:1989的不兼容”,是一个告知性的附录。它列出了该国际标准当前版本和ISO / IEC 9075:1989标准之间的不兼容 。
29) 附录F,“SQL的维护和解释”,是一个告知性的附录。它列出自ISO / IEC 9075:1989采纳以来,被ISO / IEC JTC1/SC21处理过的SQL解释和修正。
在该国际标准的文本中,条款开始于一个新的奇数页,并在第5条“词法要素”到第22条“状态码”,子条款开始于新的一页。任何由此产生的空白空间不是很大。 范围
该国际标准定义了SQL数据的数据结构和基本操作。它提供了SQL数据的创建,获取,维护,控制,保护的功能。
注:该国际标准的构架使用数据管理的关系模型描述(ISO/IEC DIS 10032:1991)。
该国际标准规定了对以下几点的数据库语言的语法和语义: -SQL数据的结构和完整性约束的指定和修改, -SQL的数据和游标的声明和调用操作,
-数据库语言过程的声明,并将其嵌入到标准的编程语言中。 它还指定描述SQL数据的结构和完整性约束的信息方案。
该国际标准
-为在多个SQL实现之间的数据定义和编译单元的可移植性提供载体, -为多个SQL实现的互连提供载体,
-为在编译单元中的嵌入式SQL语句,规定了相关语法,否则就需要符合特殊的编程语言标准。它定义符合特定编程语言标准的等效的编译单元。在这等效的编译单元中,每个嵌入式SQL语句被一些语句替换,这些语句调用包含了SQL语句的数据库语言过程, -规定了直接引用SQL语句的语法。
该国际标准在以下几条中,没有定义方法或绑定的时间 -数据库管理系统组件, -SQL数据定义的声明, -SQL过程,
-编译单元,包含了嵌入式SQL。
实现该国际标准可能的环境,还应支持应用程序的编程语言,终端用户的查询语言,报告生成系统,数据字典系统,项目库系统,和分布式通信系统,以及数据库设计,数据管理,和性能优化等各种工具。
规范性引用
相关推荐: