第三章 关系数据库标准语言SQL
SQL概述
SQL(Structured Query Language)结构化查询语言,是关系数据库的标准语言
SQL历史
略。。。
3.1 SQL标准的进展过程
标准 | 大致页数 | 发布日期 |
---|---|---|
SQL/86 | 1986.10 | |
SQL/89 | 120页 | 1989年 |
SQL/92 | 622页 | 1992年 |
SQL99(SQL3) | 1700页 | 1999年 |
SQL2003 | 3600页 | 2003年 |
SQL2008 | 3777页 | 2006年 |
SQL2011 | 2010年 |
目前,没有一个数据库能够支持SQL标准的所有概念和特性
SQL特点
♥ 综合统一
◾ 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体
◾ 可以独立完成数据库生命周期中的全部活动
● 定义和修改、删除关系模式,定义和删除视图,插入数据,建立数据库
● 对数据库中的数据进行查询和更新
● 数据库重构和维护
● 数据库安全性、完整性控制,以及事务控制
● 嵌入式SQL和动态SQL定义
♥ 高度非过程化
◾ 非关系数据模型的数据操纵语言“面向过程”,必须指定存取路径
◾ SQL只要提出“做什么”,而无须了解存取路径
◾ 存取路径的选择以及SQL的操作过程由系统自动完成
♥ 面向集合的操作方式
◾ 非关系数据模型采用面向记录的操作方式,操作对象是一条记录
◾ SQL采用集合操作方式
◾ 操作对象、查找结果可以是元组的集合
◾ 一次插入、删除、更新操作的对象可以是元组的集合
♥ 以同一种语法结构提供多种使用方式
◾ SQL是独立的语言
● 能够独立的用于联机交互的使用方式
◾ SQL又是嵌入式语言
● SQL能够嵌入到高级语言(例如C,C++,Java)程序中,供程序员设计程序时使用
♥ 语言简洁,易学易用
◾ SQL功能极强,完成核心功能只用了9个动词
SQL功能 | 动词 |
---|---|
数据查询 | select |
数据定义 | create,drop,alter |
数据操纵 | insert,update,delete |
数据控制 | grant,revoke |
SQL支持关系数据源库的三级模式结构
♥ 基本表
◾ 本身独立存在的表
◾ SQL中一个关系就对应一个基本表
◾ 一个(或多个)基本表对应一个存储文件
◾ 一个表可以带若干索引
♥ 存储文件
◾ 逻辑结构组成了关系数据库的内模式
◾ 物理结构对用户是隐蔽的
♥ 视图
◾ 从一个或几个基本表导出的表
◾ 数据库中只存放视图的定义而不存放视图对应的数据
◾ 视图是一个虚表
◾ 用户可以在视图上再定义视图