第3章 关系数据库的标准语言SQL 数据库原理及应用讲义
第3章 关系数据库的标准语言SQL
在关系数据库中普遍使用一种介于关系代数和关系演算之间的数据库操作语言 SQL,
SQL 的含义即结构化查询语言(Structured Query Language )。SQL 不仅具有丰富的查询功能
还具有数据定义和数据控制功能,是集查询、DDL (数据定义语言)、DML (数据操纵语言)、
DCL (数据控制语言)于一体的关系数据语言。它充分体现了关系数据语言的特点和优点,
是关系数据库的标准语言。
本章主要介绍 SQL 语言的发展过程、基本特点、数据库定义语言(DLL)、数据操纵语言
(DML)、数据控制语言(DCL) 。
3.1 SQL概述
SQL 最早是 1974 年由 Boyce 和 Chamberlin 提出,并作为 IBM 公司研制的关系数据库管
理系统原型 System R 的一部分付诸实施。它功能丰富,不仅具有数据定义、数据控制功能,
还有着强大的查询功能。而且语言简洁,容易学习,容易使用。现在 SQL 已经成了关系数据
库的标准语言,并且发展了三个主要标准,即 ANSI (美国国家标准机构)SQL;对ANSI SQL
修改后在 1992 年采纳的标准,称为 SQL-92 或 SQL2;最近又出了 SQL-99 也称 SQL3 标准。
SQL-99 从 SQL2 扩充而来,并增加了对象关系特征和许多其它的新功能。
现在各大数据库厂商提供不同版本的 SQL。这些版本的 SQL 不但都包括原始的 ANSI
标准,而且还在很大程度上支持新推出的 SQL-92 标准。另外它们均在 SQL2 的基础上作了
修改和扩展,包含了部分 SQL-99 标准。这使不同的数据库系统之间的互操作有了可能。
3.1.1 SQL的特点
SQL 语言之所以能够为用户和业界所接受,成为国际标准,是因为它是一个综合的、通
用的、功能极强的、简学易用的语言。其主要特点包括:
1. 综合统一
数据库的主要功能是通过数据库支持的数据语言来实现的。SQL 语言的核心包括如下数
据语言:
⑴ 数据定义语言(Data Definition Language ,简称DDL ),DDL 用于定义数据库的逻辑
机构,是对关系模式一级的定义,包括基本表、视图及索引的定义。
⑵ 数据查询语言(Data Query Language ,简称DQL ),DQL 用于查询数据。
⑶ 数据操纵语言(Data Manipulation Language ,简称DML ),DML 用于对关系模式中
的具体数据的增、删、改等操作。
⑷ 数据控制语言(Data Control Language,简称DCL ),DCL 用于数据访问权限的控制。
SQL 语言集这些功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,
包括定义关系模式、录入数据已建立数据库、查询、更新、维护、数据库重构、数据库安全控制
等一系列操作要求,这就为数据库应用系统开发提供了良好的环境。
2. 高度非过程化
使用 SQL 语言进行数据操作,用户只需提出“做什么”,而不必指名“怎么做”,因此用户无
需了解存取路径,存取路径的选择以及SQL 语句的操作过程由系统自动完成。这不但大大减轻了
用户负担,而且有利于提高数据独立性。
3. 用同一种语法结构提供两种使用方式
SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机
交互的使用方式,用户可以在终端键盘上直接键入 SQL 命令对数据库进行操作。作为嵌入式
语言,SQL 语句能够嵌入到高级语言(例如 C )程序中,提供程序员设计程序时使用。而在
两种方式下,SQL 语言的语法结构基本上是一致的。这种统一的语法结构提供两种不同的使
用方式的方法,为用户提供了极大的灵活性与方便性。
4. 语言简洁,易学易用
SQL 语言功能极强,但其语言十分简洁,完成数据定义、数据操纵、数据控制的核心功
能只用了 9 个动词:CREATE、DROP 、ALTER 、SELECT、INSERT 、UPDATE 、DELETE 、
GRANT、REVOKE 。而且 SQL 语言语法简单,接近英语口语,因此易学易用。
3.1.2 SQL语言的基本概念
数据库的体系结构分为三级,SQL 也支持这三级模式结构,如图 3-1 所示,其中外模式
对
原创力文档

文档评论(0)