时间:2022-12-24 02:30:01 | 来源:信息时代
时间:2022-12-24 02:30:01 来源:信息时代
关系数据库语言 : 关系数据库使用的语言,可以分为三类:
(1)关系代数语言: 关系代数用对关系的运算来表达查询。其运算符包括四类: 集合运算符、专门的关系运算符、算术比较符和逻辑运算符。其典型例子是查询语言ISBL。
(2)关系演算语言: 关系演算是以数理逻辑中的谓词演算为基础的。按谓词变元的不同,关系演算可分为元组关系演算和域关系演算。元组关系演算以元组变量作为谓词变元的基本对象。典型的元组关系演算语言有Alpha和QUEL。域关系演算以元组变量的分量即域变量作为谓词变元的基本对象,例如QBE。
(3) 具有关系代数和关系演算双重特点的语言: 例如SQL。
这些关系数据库语言的共同特点是: 语言具有完备的表达能力,面向集合操作,功能强,能嵌入高级语言中使用。其中,关系代数、元组关系演算和域关系演算均是“纯”查询语言,这些抽象的语言简洁且形式化,缺少商用语言的“语法修饰” ,但它们说明了从数据库中提取数据的基本技术,能作为评估实际系统中查询语言能力的标准。实际的查询语言除了提供关系代数或关系演算的功能外,还提供了许多附加功能,如集函数、关系赋值、算术运算等。
典型的关系数据库语言有:
ISBL(information system base language):是一种典型的关系代数语言,由IBM United Kingdom研究中心研制,用于PRTV(peterlee relational test vehicle)实验系统。
Alpha: 是一种典型的元组关系演算语言,由E.F.Codd于1972年提出。Alpha语言主要有GET,PUT,HOLD,UPDATE,DELETE,DROP 6条语句。同时Codd还给出了元组关系演算和关系代数等价性的形式化证明。但该语言并未实际实现。
QUEL(query language):由美国加利福尼亚大学研制,为关系数据库管理系统Ingres采用。它也是一种元组关系演算语言,与Alpha类似,但在引进谓词演算到关系时, 去掉了谓词∃、 ∀。
QBE(query by example):即通过例子进行查询,是一个很有特色的域关系演算语言,由M.M.Zloof于1975年提出,1978年在IBM370上实现。QBE是一种基于屏幕表格的图形化的查询语言,查询看起来像二维表格,它的查询是用“例子”来表达的。用户不是写一个过程获得所需的答案,而是举出所需答案的一个例子。系统会把这个例子一般化并计算出查询的答案。QBE和它的变体广泛应用在个人计算机数据库系统中。
SQL(structured query language): 即结构化查询语言,是一种介于关系代数与关系演算之间的语言,是一种用来与关系数据库管理系统通信的标准计算机语言。1974年由Boyce和Chamberlin提出,该语言最初叫Sequel,是从语言Square派生出来的。1975年至1979年,IBM公司San Jose Research Laboratory研制的关系数据库管理系统原型系统System R实现了这种语言。自20世纪70年代后期以来,SQL语言从具有几个特性的简单语言发展成相当复杂的语言,具有能满足众多不同类型用户需求的特性。
SQL语言由数据定义语言、交互式数据操纵语言、完整性、视图定义、事务控制、嵌入式SQL、动态SQL和授权这几个部分组成,是一个通用的、功能极强的关系数据库语言。SQL语句可嵌入宿主语言的程序中使用,宿主语言有FORTRAN、PASCAL、C、COBOL等高级语言;SQL语言也能作为独立的用户接口,供交互环境下的终端用户使用。
由于SQL功能丰富、语言简洁、使用方法灵活,备受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL语言目前已成为关系数据库的标准语言。
第一个SQL标准是1986年10月由美国国家标准局(American national standard institute,ANSI)公布的,所以也称该标准为SQL-86。1987年国际标准化组织(International Organization for Standardization,ISO)也通过了这一标准。1989年ANSI发布了SQL的扩充标准SQL-89,1992年又公布了SQL-92标准,1999年推出了SQL99标准,亦称为SQL3;最近的版本是SQL-2003。
自SQL成为国际标准语言以后,各个数据库厂家纷纷推出各自支持的SQL软件或与SQL接口的软件。大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。目前,SQL已成为关系数据库领域中一个主流语言。