PL/SQL 知识量:16 - 57 - 244
SQL全称为Structured Query Language(结构化查询语言),它利用一些简单的句子构成基本语法来存取数据库内容。由于SQL简单易学,目前它已经成为关系数据库系统中使用最广泛的语言。
使用SQL语言可以创建、维护、保护数据库对象,并且可以操作对象中的数据。 SQL可实现的功能如下:
数据定义语言(Data Definition Language,DDL):主要用于创建、修改或删除数据库对象,如表、视图、索引等。
数据操纵语言(Data Manipulation Language,DML):主要用于查询、添加、修改或删除存储在数据库对象中的数据。
数据控制语言(Data Control Language,DCL):可以控制访问数据库中特定对象的用户,还可以控制用户对数据库的访问类型,还有用户访问权限的授予、收回。
SQL语言最主要的执行方式有:交互式SQL、嵌入式SQL以及CLI(调用层接口)等。
1、交互式SQL
交互式SQL是直接执行SQL语句,一般DBMS都提供联机交互工具,可以从前端应用程序,如SQL Server中的Query Analyzer(查询分析器)、Oracle中的SQL*Plus Worksheet,直接与SQL服务器上的数据库进行通信。
只要把查询输入到应用程序窗口,再执行SQL语句,就可以获取查询结果。通过这种方式可以迅速检查数据、验证连接和观察数据库对象。SQL语句由DBMS来进行解释。
2、嵌入式SQL
在这种方式中,将SQL语句嵌入到高级语言(宿主语言)中,使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力。例如,可以将SQL语句嵌入C应用程序代码中。在编译代码之前,预处理器将分析SQL语句,并把这些语句从C代码中分离出来。SQL代码被转换成能为RDMS理解的一种格式,其余的C代码则按照正常的方式进行编译。这种方式一般需要预编译,将嵌入的SQL语句转换为宿主语言编译器能处理的语句。
3、CLI(调用层接口)
CLI可以通过接口调用SQL语句。它定义了一套可以从宿主语言调用的公共函数,即提供一套API,通过函数调用实现对DBMS的操作。常用的CLI包括DBLib、OCI、ODBC、JDBC等,将逐步替代嵌入式SQL。
SQL语言由一些简单句子构成基本的语法,所有的SQL语句均有自己的格式,典型的SQL语句是查询语句:
select name from student;
select语句用公式表示就是:select (想选择什么) from (从什么地方选择);
SQL环境是指数据在其中可以存在、对数据的SQL操作可以执行的框架。实际上,可以把SQL环境看作运行在某个设备上的数据库管理系统。基本的数据库元素,比如基本表、视图等都是在SQL环境中定义的。SQL环境包含模式、目录等元素。
1、模式对象
模式对象位于目录的底层,SQL数据就存储在这一层。通过使用SQL,就可以定义SQL对象,并可以修改、存储和操作对象中的数据。SQL标准定义了表、视图、域、约束、触发器等类型的模式对象,这些对象构成了SQL环境的基础。
2、模式(Schema)
这里所说的模式是指数据库模式,而不是关系模式,是表、视图、域等数据库模式对象的聚集,它是整个SQL环境体系结构的基本单位。在SQL中,它的创建采用CREATE SCHEMA语句,其语法如下:
CREATE SCHEMA <模式名> <模式元素>
3、目录(Catalog)
SQL目录是对某一单个数据库的描述。它是模式的聚集,每个目录都有一个或多个模式,都包含INFORMATION-SCHEMA(信息模式)特殊模式,该模式包含此目录中所有模式的信息。在目录中建立模式类似于在模式中建立表或视图之类的模式元素。
在数据库的使用中,经常用到的是客户/服务器模型。关系DBMS模型和SQL都非常适合于使用该模型。其工作过程可简单描述如下:
运行在客户端的应用程序接收用户的输入并形成SQL语句,然后将其发送到服务器上的DBMS。
DBMS翻译并执行SQL命令,并将结果发送回客户端(工作站)。
运行在客户端的应用程序格式化向用户显示结果。
SQL的客户程序和服务程序与连接、会话、模块这三个概念紧密地联系在一起。
1、连接
在客户端上运行包含SQL的程序,则需要连接服务程序。可用如下的SQL连接语句,在客户程序和服务程序之间建立连接:
CONNECT TO <服务器名> AS <连接名>
用户可以建立多个连接,但在任何时间只能有一个是活动的。可以采用如下语句切换连接:
Set Connection <连接名>
访问完毕需要断开连接,语法如下:
Disconnect <连接名>
2、会话
当连接激活时,所执行的SQL操作将在客户程序和服务程序之间形成请求-响应式的交往,这种操作序列称为会话(Session)。
会话与建立它的连接处于同一状态,当连接处于待用状态时,会话也处于待用状态;当连接被激活时,会话也被激活。每个会话都有当前目录和该目录中的当前模式。
3、模块
SQL实现至少为客户端用户提供如下3种类型的应用程序(称为模块,Module)之一:
通用SQL接口,如交互式SQL。
嵌入式SQL,如嵌入于宿主语言中。
实际模块,如存储过程等
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6