三级数据库技术辅导第四讲:SQL语言特点

文章作者 100test 发表时间 2007:03:10 18:30:57
来源 100Test.Com百考试题网


2 SQL语言特点

图4.1描述了SQL的工作机理。

图4.1 用SQL进行数据存取

结构化查询语言这一名称实际上有些不贴切。

首先,尽管查询是设计SQL的最初目的,检索数据也仍然是其最重要的功能之一,但SQL决不仅仅是一个查询工具。SQL用于控制DBMS提供给用户的所有功能,包括:

  • 数据定义(Data definition):SQL可用于定义被存放数据的结构和组织,以及数据项之间的关系。

  • 数据检索(Data retrieval):SQL能使用户或应用程序从数据库中检索数据并使用这些数据。

  • 数据操纵(Data manipulation):用户或应用程序通过SQL更改数据库,如增加新数据,删除旧数据,修改已存入的数据等。

  • 存取控制(Access control):SQL可用来限制用户检索,增加和修改数据的权限,一保护所存储的数据不被非法存取。

  • 数据共享(Data sharing):SQL可用于调整数据让并发用户共享,以保证用户之间彼此不受影响。

  • 数据完整性(Data integrity):SQL能对数据库的完整性条件作出规定,以使其不会因为修改紊乱或系统出错而被破坏。

第二,SQL并不是一种像COBOL,FORTRAN和C语言等那样完整的计算机语言。SQL没有用于条件测试的IF语句,没有用于程序分支的GOTO语句,也没有用于循环的DO或FOR语句。

确切地说,SQL是一种数据库子语言(sublanguage)。也称为第四代语言(4GL),一种非过程语言。

SQL语言简洁,为完成其核心功能只用了6个动词:SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT(REVOKE)

ANSI SQL的类型

目前的ANSI SQL标准认可四种SQL语句的方法。采用何种方法依赖于应用程序编程环境:

  • 交互式SQL(Interactive SQL):类似于Forpro,以命令行形式执行SQL语句。

  • 嵌入式SQL(Embedded SQL):通过在SQL语句前假如一个关键字来执行SQL语句。例如C中的EXEC SQL。

  • 模块SQL(Module SQL):允许创建独立于3GL源代码的编译SQL语句,然后把编译好的目标模块连入可执行程序。SQL模块类似于Visual Basic代码模块,模块中包含变量说明和用来容纳查询结果集合的临时表,可以把变元值从3GL传递给SQL模块说明的过程参数。在数据库服务器上执行预编译查询的存储过程有许多与模块SQL共同的性质。

  • 动态SQL(Dynamic SQL):可以创建在编写语句时无法预测其内容的SQL语句(前面的多种SQL类型属于静态SQL类)。例如:读者想设计一个可以针对多种数据库处理查询的Visual Basic应用程序。动态SQL可以以字符串形式向数据库传送查询。例如,可以向数据库传送一个查询并获得详细的信息,这些信息来自描述数据库表及表中字段的数据库字典。在知道了数据库结构之后,应用程序用户可以创建向查询添加正确字段名的定制查询。

SQL的作用

SQL本身不是一个数据库管理系统,也不是独立的产品。事实上,SQL是数据库管理系统的一个组成部分,是用户和DBMS通信的语言和工具。

图4.2 典型DBMS的组成

SQL有下列作用:

  • SQL是一种交互式查询语言

  • SQL是一种数据库编程语言

  • SQL是一种数据库管理语言

  • SQL是一种客户机/服务器语言

  • SQL是一种分布式数据库语言

  • SQL是一种数据库网关语言



相关文章


三级数据库技术辅导第四讲:SQL语言应用
全国计算机等级四级机试试题及答案一(4-6)
三级数据库技术辅导第四讲:SQL语言特点
全国计算机等级四级机试试题及答案一(7-9)
全国计算机等级四级机试试题及答案一(10-12)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛