30421发展

5.1.1 SQL语言的发展

SQL是Structured Query Language的缩写,译为“结构化查询语言”,它是关系数据库的标准语言。

按功能划分,SQL语言可以分为四类:

数据查询语言(Data Query Language, DQL)

数据定义语言(Data Definition Language, DDL)

数据操纵语言(Data Manipulation Language, DML)

数据控制语言(Data Control Language, DCL)

SQL语言的发展

  1974年由Boyce和Chamberlin最初提出,

  1979年被IBM公司在其关系数据库系统System R上首先予以实现。

  1986年10月,美国国家标准化学会(ANSI, American National Standards Institute)公布了第一个SQL标准,称为SQL-86。

  1987年6月,国际标准化组织(ISO, International Standards Organization)也接纳了这一标准,并对其作进一步的完善。完善工作于1989年4月完成,结果形成了所谓的SQL-89标准。

  在SQL-89标准的基础上,ISO和ANSI联手对SQL进行研究和完善,于1992年8月又推出了新的SQL标准——SQL-92(SQL2),1999年推出SQL-99(SQL3),2003年进一步被扩充为SQL-2003,使其兼容XML语言。

  如今,几乎所有的数据库产品厂商都推出了各自的支持SQL语言的关系数据库软件产品,如DB2、Oracle、SQL Server等,或者提供了支持SQL语言的接口。

  除了SQL以外,还有其他类似的一些数据库语言,如QBE、Quel、Datalog等,但这些语言仅限于少数专业的数据库研究人员使用,并不是主流语言。事实上,SQL是迄今为止最受欢迎的关系数据库语言之一,目前还没有出现能够与之相媲美的同类语言。

5.1.2 SQL语言的特点

  SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,是一种通用的、功能强大而又简单易学的关系数据库语言。

特点:

   1)高度非过程化语言

     非关系数据模型的数据操纵语言都是面向过程的语言,在使用时必须指定存储路径。SQL是一种高度非过程化的语言,它一次执行一条命令,对数据提供自动导航。SQL不要求用户指定对数据的存放方法,只要求用户提出要“干什么”,至于“怎么干”,用户就不用管了,而由系统自动完成。

   2)统一的数据库操作语言

     SQL语言风格统一,用于创建数据库、定义关系模式、完成数据的查询、修改、删除、控制等操作。为数据库应用系统的开发提供了良好的环境。在数据库投入运行以后,可以使用SQL语言实现数据库重构,在一定程度上满足用户不断发展的需求,同时不影响数据库的正常运行,使数据库系统具有良好的可扩展性。

(3)关系数据库的标准语言

     SQL成为国际标准以后,由于绝大多数的数据库厂商都支持SQL,所以SQL可以用于各类数据库管理系统,从而使它成为关系数据库的标准语言。所有用SQL编写的程序都是可以在不同的系统中移植,同时也结束了数据库查询语言“各自为政的分割局面”。

    4)面向集合的数据操纵语言

      非关系数据模型的数据操纵语言一般是面向记录进行操作的,即每一次操作都是针对一条记录进行的。如果要对多条记录操作,则必须循环进行。而SQL则面向集合的方式进行操作,即每一次操作是针对所有满足条件的元组组成的集合进行,操作所产生的结果也是元组的集合。

(5)可嵌入式的数据库语言

    SQL语言不但可以在交互方式下以命令的形式执行,还可以嵌入到其他的高级语言中。在交互方式下,用户可以在终端键盘上直接键入SQL命令对数据库进行操作;作为可嵌入式的数据库语言,SQL语言可嵌入到像C、COBOL、FORTRAN、VB、PowerBuilder、Delphi等这种高级语言中,通过程序调用来实现对数据库的操作。不管是在交互方式下还是在嵌入方式下,SQL语言的语法结构基本上都一样,这使得对数据库的操作变得更为灵活和方便。

(6)简单易学

    SQL语言的语法结构比较简单,调用格式非常简洁。所使用命令的核心关键字才包括9个:CREATE、ALTER、DROP、GRANT、REVOKE、SELECT、INSERT、UPDATE、DELETE  。而且其语法接近英语口语,方便理解和记忆。

5.1.3 SQL的基本功能

四大功能介绍:

(1)数据查询功能

通过SELECT语句完成。SELECT语句的功能非常强大,表达形式非常丰富,可以完成很多复杂的查询任务。SQL语言的最初设计就是用于数据查询,这也是它之所以称为“结构查询语言(Structured Query Language”的主要原因。

(2)数据操纵功能

通过INSERT、UPDATE、DELETE  语句完成。INSERT、UPDATE、DELETE  语句分别用于实现数据插入、数据更新和数据删除功能。

(3)数据定义功能

通过CREATE、ALTER、DROP语句来完成。CREATE、ALTER、DROP语句分别用于定义、修改和删除数据库和数据库对象,这些数据库对象包括数据表、视图等。

(4)数据控制功能

通过GRANT、REVOKE语句来完成。数据控制主要是指事务管理、数据保护(包括数据库的恢复、并发控制等)以及数据库的安全性和完整性控制。

      四种功能与SQL语句的对应关系如表5.1所示:

猜你喜欢

转载自www.cnblogs.com/ZanderZhao/p/11060966.html