3. 关系数据库标准语言 SQL
3.1 SQL 概述
### SQL (Structured Query Language)
- 1974 年提出
- 最初名为 Sequel
- 在 IBM 公司的 System R 上实现
- 1986 年, ANSI 批准为语言标准
- 1987 年, ISO 通过

#### SQL 发音问题
### SQL的支持和扩展
- SQL 有多个版本, 越来越复杂
- 没有数据库系统能完全支持
- 数据库系统往往支持 SQL/92 的大部分
- 许多厂商对 SQL 命令有扩充和修改
- 使用具体产品时需具体学习

#### 一些常见数据库产品
### SQL的特点
- 综合统一
- 功能强大
- 简洁易学
- 标准化
- 数据独立性
- 高性能
- 可扩展性
### 综合性
- 集DDL, DML, DCL于一体
- 定义, 修改, 删除关系模式
- 定义, 删除视图
- 建立数据库
- 插入, 查询和更新数据
- 数据库重构和维护
- 数据库安全性, 完整性, 事务控制
- 嵌入式SQL和动态SQL定义
### 高度非过程化
- 面向过程和面向对象
- SQL 的 "面向需求"
- 减轻用户负担
- 提高数据独立性
### 面向集合操作
- 非关系数据模型面向记录
- SQL 面向集合
- 可以对元组集合查询
- 可以对元组集合插入, 删除和更新
### 统一语法结构
- 独立的语言
- 嵌入式语言
- 语法结构保持一致
### 语言简洁
- 9 个动词完成核心功能
- 数据查询: SELECT
- 数据定义: CREATE, DROP, ALTER
- 数据操作: INSERT, UPDATE, DELETE
- 数据控制: GRANT, REVOKE

#### SQL 常见命令
### SQL 与三级模式
- 外模式包括若干视图 (View) 和部分基本表 (Base Table)
- 模式包括若干基本表
- 内模式包括若干存储文件 (Stored File)

#### SQL 对数据库模式的支持
### 视图 (Views)
- 视图从一或多个基本表导出
- 数据库中只存放视图的定义
- 视图的数据存放基本表中
- 视图在概念上与基本表等同
- 可以在视图上再定义视图
### 基本表 (Base Tables)
- 本身独立存在的表
- 一个关系对应一个基本表
- 一或多个基本表对应一个存储文件
- 表可以带有索引
### 存储文件 (Stored Files)
- 表和索引存放在存储文件中
- 存储文件的逻辑结构即内模式
- 存储文件的物理结构对用户透明

#### SQL 对数据库模式的支持

### 3.1 SQL 概述
- SQL 的主要特点有哪些?
- 在 SQL 中, DDL, DML, DCL 分别代表什么?
- "高度非过程化" 是怎样体现在 SQL 中的?
- SQL 使用的操作是面向记录还是面向集合的?
- SQL 使用哪些动词完成它的核心功能?
- 视图和基本表在 SQL 中有什么区别?
----
[ 2.4 关系代数](dbds-2-4.html#/overview)
[| 练习 |](dbds-exec.html)
[ 3.2 王者荣耀数据库](dbds-3-2.html#/overview)