GB T 15534-1995 信息处理系统 数据库语言NDL.pdf
《GB T 15534-1995 信息处理系统 数据库语言NDL.pdf》由会员分享,可在线阅读,更多相关《GB T 15534-1995 信息处理系统 数据库语言NDL.pdf(57页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准信息处理系统数据库语言发布实施国家技术监督局发布中华人民共和国国家标准信息处理系统数据库语言国家技术监督局批准实施本标准等同采用国际标准信息处理系统数据库语言主题内容与适用范围本标准规定以下三种数据库语言的语法和语义模式定义语言它用来申明数据库的结构和完整性约束子模式定义语言它用来申明数据库的用户视图模块语言和数据操纵语言它用来申明具体的数据库所应用的数据库过程和执行语句本标准定义数据库的逻辑数据结构和基本操作它提供数据库设计存取维护控制和保护方面的功能性能力本标准在互相符合的现实之间为数据库定义和应用程序的可移植性提供一种途径本标准指明两个级别的数据库语言第二级是完整的
2、数据库语言第一级是第二级的子集其内容见第章本标准没有指明可能提供给运行的数据库环境的某些设施例如为特定的用户获得访问和运行优先权的访问控制附加的完整性控制能力用于在数据库上指明更加复杂的完整性约束转入转出的模式定义的设施为适应信息交换把记录和系全体复制到标准文件上的数据库存储交换功能为使模式和子模式信息可用来访问应用程序的模式数据库建立修改或删除部分模式或子模式的操纵语言数据字典界面产生独立的标准数据库模块和标准语言程序的应用程序的预处理设施定义物理存储结构和物理存取方法的数据存储定义语言为用户指明断言和触发的数据库过程为访问数据库所制定的自然语言查询设施产生输出表和图象的报告生成程序设施数据
3、库与标准图形系统直接接口的图形能力在通讯网络的不同结点上定义和存取数据的分布数据库设施以某种方式指明这些附加设施的标准应与本标准向上兼容某些附加能力可能在本标准以后的版本中指明其余的则在单独的标准中指明而有些附加功能通常由实现者自己定义本标准实现的适用环境包括应用程序设计语言最终用户查询语言报告生成系统数据字典系统程序库系统和分布式通信系统以及用于数据库设计数据管理和性能优化的各种工具引用标准程序设计语言程序设计语言程序设计语言程序设计语言概述结构本标准结构如下条表示法和条约定定义本标准内所使用的表示法和约定条相符性定义相符性准则第章的概念定义术语并提出在定义中所用到的概念第章公用元素定义在语
4、言中某些部分所出现的语言元素第章模式定义语言定义用来指明数据库的设施第章子模式定义语言定义用来指明一个应用程序所能引用的部分数据库的设施第章模块语言定义模块和过程第章数据操纵语言定义的数据操纵语句第章辅助操作定义用于数据操纵语句定义中的某一些操作第章解释状态定义用于数据操纵语句定义中的会话状态第章状态码定义数据操纵语句执行后的参数的值第章级定义的两个级表示法本标准内所使用的语法表示法是巴科斯范式或巴科斯诺尔范式并具有如下的扩展方括号表示任选元素省略号表示可以重复一次或多次的元素花括号表示元素的组合序列在语法中如果产生式符号出现在产生式符号的展开式内某一位置则产生式符号被定义为包含产生式符号如果
5、包含则包含于中如果包含则是所在的的产生式符号如果包含且出现在的第一展开式中则产生式符号即刻包含一个产生式符号本标准的词法单位例分隔符关键字标识符和字值在本标准的其他地方定义下列字符在某些产生式规则中有特殊含义在换码标识符中在字符串文字中在注释条件和下标中在注释条件和下标中在注释中在数字字值中在数字字值中在关系中在关系中在成分标识符匹配关系和语句中在近似数字字值中在标识符中在成分标识符成分视图标识符数字字值子句和子模式说明中约定采用说明原国际标准有一段章条和页码的对照约定在起草本标准时认为此约定没什么意义故删去本标准的语法元素按以下形式指明功能对元素用途的简短陈述格式对元素语法的定义语法规则在内
6、没有表示出的而元素应当满足的附加语法的限制一般规则元素运行时间效果的一个顺序说明在语法规则中术语应当定义能在语法上完全符合语言所要求的一些条件对不符合格式或语法规则的语言的处理由实现者定义执行在一般规则中定义的精确动作序列不要求一致性实现但在数据库中会与此序列达到同样的效果术语持久对象用来表征如模块和模式这一类对象它们是由实现者定义机制予以建立和撤消相符性本标准指明相符的语言和相符的实现相符的语言应遵守范式与相应的语法规则相符的实现应按照一般规则来处理标准的相符的语言相符的实现可以提供本标准未指明的附加设施或任选功能即使一个实现提供给用户处理非相符语言或以非相符方式处理相符的语言的选择该实现仍
7、是相符的本标准不定义应用程序和数据库管理系统成分之间的汇集时间和方法本标准第级相符的实现应当满足第级相符的需求除非它省略在第章中所指明的某些设施本标准指明三种语言并定义它们各自的语法和语义数据库管理系统的实现者可以用两种方法来声称他们的产品与本标准的相符性一种方法是实现者可以提供与语言相同的语法以声称语法与功能两者相符另一种方法是使用不同的语言表达相同的概念语义和功能性且仅仅声称功能的相符性声称与三种标准语言任一种功能的相符性应指明语法和功能性与这些标准语言等价例如由数据库管理系统的显示实用程序所显示的一个模式能使用标准模式定义的语言的语法来记录且具有等效的功能概念数据类型数据类型是可表示的值
8、的集合值的逻辑表示为一个字值一个值的物理表示是由实现者定义的在本标准中值是初等项且对其不能再作逻辑细分值是数据项和数组定义的基础值或是字符串或是数字符串与数是相互不可比较的值字符串字符串由实现者定义的字符集的一个字符序列组成字符串有长度长度是一个整数它指明在序列中字符的个数数数或是精确数值或是近似数值所有的数是可以比较的值精确数值有精度和标度精度是一个正整数它确定数值有效的十进制位数标度是一个带符号的整数标度为表示该数字为一个整数标度为表示该精确数值应为有效十进制整数乘以的次方近似数值由尾数和指数组成尾数是一个带符号的数值指数是一个带符号的整数它指明了尾数的数量级一个近似数值有一个精度精度是正
9、整数它指明尾数中有效的二进制数字的位数当一个精确数值赋予一个表示精确数值的数据项或参数时则它的值应当精确地表示在目的的数据类型中这个值被转换为目的精度和标度当精确或近似值赋给一个表示近似数字值的数据项或参数时则在目的的数据类型中表示是此值的近似值这个值被转换为目的精度成分成分或是数据项或是数据项的数组成分类型定义一个有相同数据类型成分的出现值的集合一个数据项含有一个单个值数组由若干个数据项序列组成数组由范围指明范围是一个无符号整数表列出现在数组中的数据项的个数等于无符号整数的积不包含在数组中的数据项用成分名和数据库键来引用包含在数组中的数据项用成分名数据库键和下标来引用具有相同成分类型的所有值
10、有相同的数据类型如果成分类型定义一个数组则各个成分出现值是一个具有相同维数和范围整数的数组有相同字符串成分的所有字符串有相同的长度所有相同精确数字成分的数有相同的精度和标度所有相同近似数字成分的数有相同的精度每个成分类型定义为一个记录类型部分成分类型指明数据类型如果成分类型定义一个数组则它指明范围一个字符串成分类型指明它的字符串的长度一个精确数字成分类型指明它的数的精度和标度一个近似数字成分类型指明它的数的精度记录本标准中记录是基本的操纵单位记录可存储删除寻找和修改以及在系上连接断结和重新连结记录是许多成分的集合一个记录类型定义所有具有相同成分类型的记录出现值的集合记录类型定义它的成分类型并指
11、明记录出现值应满足的完整性约束每个记录恰好是一个记录类型的出现值并且恰好由该记录类型所定义的成分组成每个记录类型的记录用实现者定义的次序来维持数据库键所有的记录是可区分的每个记录由一个数据库键唯一地标识数据库键或者为空或者为非空为空时标识没有记录非空时恰好标识数据库中的一个记录数据库键没有逻辑表示并且它对由本标准所定义的任何界面都是无效的数据库键的物理表示是由实现者定义在会话状态中数据库键用来模拟游标和定义数据操纵语言中语句的语义在会话状态数据库键由数据库键引用在数据操纵语言的语句中一个数据库键由一个数据库标识符引用系统记录本标准存在一个专门的记录类型记录类型没有成分类型没有完整性约束且恰好有
12、一个称为系统记录的虚记录出现值本标准没有指明系统记录的数据库键系统记录和记录类型仅仅存在于奇异系的定义中系类型系类型定义两个或两个以上记录类型关系在系类型中一个记录类型指定为主记录类型而其余的记录类型称为系类型的一个成员记录类型对每一个系类型在数据库中可能有零个一个多个系每个系有一个主记录和零个一个或多个成员记录组成主记录的记录类型是一个成员记录类型在数据库中系由系名和它的主记录出现值唯一地标识当一个系类型的主记录类型的一个出现值存储于数据库时则此系类型产生一个新系当记录类型的一个出现值存储在数据库时它至多属于系类型的一个系在这个系类型中该记录类型是一个成员记录类型系类型的每个系的成员记录按顺
13、序排列此顺序由系类型的排序规则所决定奇异系奇异系类型是以作为主记录类型的系类型奇异系是奇异系类型的唯一出现值递归系递归系类型是与主记录类型和成员记录类型有相同的记录类型的系类型递归系是一个递归系类型的值模式模式由模式定义语言所指明的一个持久对象模式是数据库的逻辑描述它由模式名记录类型的描述集和系型描述集所组成子模式子模式是由子模式定义语言指明的持久对象子模式是指对存取模块有效的那部分数据库的逻辑描述它由子模式名记录视图集合和系视图集合组成记录视图指明一个给定记录类型的有效的成分类型系视图指明一个有效的系类型记录视图和系视图一起决定各个系类型有效的成员记录类型记录视图和系视图可定义成分类型记录类
14、型和系类型的别名这些别名分别为成分视图名记录视图名和系视图名这些别名对存取模块而言它们仅仅是成分类型记录类型和系类型的一个有效名存取模块可使用的记录是按实现者定义的次序来维持的这个次序并不一定要与每个记录类型的记录实现者所定义次序一致数据库数据库是一个模式定义的所有数据的集合它包括每个记录类型和系类型的出现值每个模式仅定义一个数据库模块模块是用模块语言指明的一个持久对象一个模块由一个任选的模块名一个语言子句一个子模式说明一个任选的临时系说明和一个或多个过程所组成应用程序是一段可执行的代码它可由多个子程序组成单个模块在其执行期间与应用程序相联系一个应用程序应当仅与且至多只能与一个模块相联系其中所
15、指明这个联系方式包括执行某些实现者定义的语句的可能要求是由实现者定义的过程过程由一个过程名一个任选的参数说明序列和一个任选的语句序列组成与模块相联成的应用程序可用语句来引用该模块中的过程语句指明该过程的过程名并且提供参数值的序列其参数的个数和数据类型对应于该过程的参数申明过程的调用引起过程所包含语句序列的执行一个模块的子模式说明指明子模式该子模式定义由模块引用的记录和系一个模块的临时系说明定义由模块引用的临时系类型标准程序设计语言当模块中的过程是由符合规定的标准程序设计语言的程序调用时本标准指明模块中过程的动作术语标准程序标准程序标准程序和标准程序是指在第二章引用标准中列出的满足这些标准的相符
16、性准则的那些程序临时系临时系是临时系类型的一个出现值临时系类型由模块中的一个临时系说明申明对于模块中的每个临时系说明当模块初启时创建相应的临时系类型的一个出现值且当模块终止时就撤消参数参数由过程中的参数申明申明参数申明指明参数是一个基本数据项或数据项的数组以及指明它的值的数据类型在该过程的调用中参数或者假定或者提供相应的自变量的一个值或多个值参数参数是长度为个字符的专用参数如果在过程中申明参数则它的值置为状态码此状态码或者指示该过程调用已成功地完成或者指示在过程执行中产生一个异常条件参数参数是长度为个字符的专用参数如果含该参数的过程中执行了测试语句且测试为真则该参数值置为否则为参数参数是长度为
17、个字符的专用参数如果在过程中申明该参数则它置成由会话状态的会话游标所标识记录的记录名会话一个数据库操作就是执行一个语句一个会话是与一个模块相联的应用程序在执行时所实现的数据库操作序列会话状态是与一个会话相联系的一个短暂现象会话状态的创建先于会话中的第一个数据库操作且在会话的最后一个数据库操作之后被撤消会话状态由游标临时系和一个就绪列表组成游标包括标识当前会话记录的会话游标标识各个子模式记录类型的当前记录记录游标以及标识每个子模式系类型在当前系中的主记录和当前成员记录系游标临时系维持由相联的模块所定义的各个临时系的内容就绪列表维持由一个语句激活的各个记录类型的就绪说明会话状态只有通过语句才对应用
18、程序有效会话状态内容由数据库管理系统来修改其依据是在其相关模块的过程中执行语句数据操纵语言包括若干语句此语句具有寻找和比较数据库键修改就绪列表以及每个临时系内容的功能事务事务是包括数据库操作在内的一个操作序列该序列对恢复和并发而言是一个原子单位事务用语句或一个语句来终止如果事务以语句终止则该事务对数据库所做的全部修改对所有并发事务均可访问如果事务以语句终止则该事务对数据库的修改均被取消而已提交的修改不能撤消一个事务对数据库的修改能被该事务所感知但是该事务以语句终止之前这些修改不能被其他的事务感知并发事务的执行应确保可串行化可串行化的执行定义为并发执行事务的操作的一种执行该执行与同一组事务的某个
19、顺序执行产生相同效果顺序执行的含义是每个事务执行在下一个事务开始之前完成除在语句的一般规则中已陈述的影响外在一个事务内的执行对数据库或会话状态没有影响联系串行化执行意味着在一个事务中所有读操作是可重现的除事务自身已明显地做了改变完整性约束完整性约束限定数据库的有效状态完整性约束可以定义为记录类型或系类型以及主记录类型和成员记录类型之间的成分约束完整性约束是在各个语句执行后检查如果与完整性约束相联的目标不满足约束则语句对数据库无效且参数置成为指示所指明的例外检验条件检验条件是数据库记录状态改变时记录值应满足的一个表达式该表达式由记录类型或系类型的子句中的子句的条件指明缺省值缺省值指过程不提供显式
20、值的情况下由所有成分出现值所假定的一个值缺省值是由成分类型的一个子句中的字值加以指明唯一性约束唯一性约束是一个说明它是指一个给定的记录类型中没有两个记录或一个给定系类型的一个系没有两个成员记录它们可以在指明的成分上以等值形式出现在数据库中唯一性约束是由记录类型中的子句指明或者由系类型的子句内的子句指明系序准则系序指明一个系中成员记录的顺序系序有下列几种按成分值排序按时序或逆时序按一个给定成员记录的先后相对位置由实现者定义系序准则由系类型的子句指明且如果序是排序的则由该系类型包括的每个成员子句的子句指明系成员系成员指明各个系中的作为成员记录出现的记录的插入和保留方式各个成员记录类型有一个插入方式
21、和一个保留方式插入或是自动的结构的或是手工的如果插入是手工的则应只由一个显式语句把记录插入到系中成为成员记录如果插入是自动的或结构的则当成员记录类型的各个记录初次存储于数据库时它成为该系类型中某个系的一个成员记录如果插入是自动的或手工的则系主记录是由应用程序标识如果插入是结构的则系主记录是由数据库管理系统选择使所得说明的数据项的值等于已插入记录的数据项的值插入方式是由模式的每个子句的子句指明的保留或者是固定的强制的或者是可选的如果保留是固定的则记录一旦成为某个系的成员记录后就一直为该系的成员记录直至该记录从数据库删去如果保留是强制的则记录一旦成为一个系的成员记录后就一直为同一系类型中的某个系的
22、成员记录直至记录从数据库中删去如果保留是可选的则记录成为某一个系的成员记录后不必一直是该系的成员记录或该系类型中的任何系的成员记录保留方式由模式的各个子句中的一个子句指明公用元素条件功能指明取值为真值或假值的表达式格式条件选择选择选择简单条件简单条件简单条件子条件非子条件关系条件子条件条件非子条件条件关系条件操作数关系操作数关系语法规则如果关系条件中的第一个操作数指明一个数组则关系条件中的第二个操作数将不再指明是一个数组如果第一个操作数的类型是字符串则第二个操作数的类型也应是字符串如果第一个操作数的类型是精确数则第二个操作数的类型也应是精确数或近似数若第一个操作数的类型是近似数则第二个操作数的
23、类型应是近似数或精确数一般规则如果条件中的任何一个选择为真则条件就为真否则是假如果选择中的每个简单条件均为真则选择就为真否则为假如果子条件为真则直接包含一个子条件的简单条件就为真否则为假如果直接包含非子条件中的条件为真则直接包含非子条件的简单条件为真否则为假如果关系条件为真则直接包含关系条件的简单条件为真否则为假一个关系条件的第一二个操作数是该关系条件中的第一二个操作数的值一个关系条件的关系指明关系条件的两个操作数之间的比较关系由选择关系指明的比较如下关系比较小于小于等于等于大于等于大于不等如果关系条件的两个操作数没有一个是数组且两个操作数所指定的比较为真该关系条件为真否则为假如果关系条件的操
24、作数之一是数组且在数组序列中指明的每个值和另一个操作数的比较是真时则该关系条件为真否则是假情况如果操作数是精确数或近似的数字类型则按其数值执行比较如果操作数为字符串类型则如果两个操作数的长度不等则在较短的操作数的右边加上空格字符使其长度相等比较是从左到右执行逐个操作字符进行比较如果所有单个字符都相等则两个操作数相等否则操作数的比较结果将取决于单个字符的最左不等比较的结果单个字符的比较是由实现者定义在一般规则中术语小于大于等于以及不等是指相应的关系操作符操作数功能指明一个值格式操作数成分标识符成分视图标识符参数标识符字值语法规则情况如果一个操作数出现在模式中则它应当是一个成分视图标识符而不应是参
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 15534 1995 信息处理 系统 数据库 语言 NDL
