一、SQL概述
结构化查询语言(Structured Query Language)是关系数据库的标准语言,也是通用的、功能极强的关系数据库语言。
1.特点
- 综合统一
SQL集数据定义语言、数据操纵语言、数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动。这就为数据库应用系统的开发提供了良好的环境。特别是用户在数据库系统投入运行后还可根据需要随时地、逐步地修改模式,并不影响数据库的运行,从而使系统具有良好的可拓展性。
- 高度非过程化
只要提出“做什么”,而无须指明“怎么做”,因此无须了解存取路径。存取路径的选择以及SQL的操作过程由系统自动完成。
- 面向集合的操作方式
采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。
- 以同一种语法结构提供多种使用方式
SQL既是独立的语言,又是嵌入式语言。作为独立的语言,能够独立地用于联机交互的方式,用户在终端键盘上直接键入SQL命令对数据库进行操作;作为嵌入式语言,SQL语句能够嵌入到高级语言(如C、C++、Java)程序中,供程序员设计程序时使用。
- 语言简洁,易学易用
完成核心功能只用了9个动词:数据查询(SELECT),数据定义(CREATE、DROP、ALTER),数据操纵(INSERT、UPDATE、DELETE),数据控制(GRANT、REVOKE)
2.基本概念
支持SQL的关系数据库管理系统同样支持关系数据库三级模式结构。
- 外模式:若干视图+部分基本表
- 模式:若干基本表
- 内模式:若干存储文件
基本表是本身独立存在的表,一个关系对应一个基本表;
一个或多个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中;存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构对最终用户是隐蔽的;
视图是一个虚表,是从一个或几个基本表导出的表,本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。视图在概念上与基本表等同,用户可以在视图上再定义视图;