3.1 SQL概述
本章基本内容
1.SQL概述
2.数据定义
3.数据查询
4.数据更新
5.空值处理
6.视图
1.SQL(Structured Query Language)
结构化查询语言,是关系数据库的标准语言
2.SQL历史
1.1970年Codd提出了关系模型之后,由于关系代数或者关系
都太数学了,难以被普通用户接受,于是1973年IBM开展
了System R的研制工作
2.System R以关系模型为基础,但是摈弃了数学语言,以自
然语言为方向,结果诞生了结构化英语查询语言
(Structured English Query Language,SEQUEL) ,
负责人为Don Chamberlin博士。
3.后来更名为SQL,发音不变。
4.System R获得1988年度ACM“软件系统奖”
3.SQL标准的进展过程
目前没有一个数据库系统能支持SQL标准的所有概念和特性
4.SQL的特点
1.综合统一
1.集数据定义语言(DDL),数据操纵语言(DML),数据控制语
言(DCL)功能于一体。
2.可以独立完成数据库生命周期中的全部活动:
1.定义和修改、删除关系模式,定义和删除视图,插入数据,建
立数据库;
2.对数据库中的数据进行查询和更新;
3.数据库重构和维护
4.数据库安全性、完整性控制,以及事务控制
5.嵌入式SQL和动态SQL定义
2.高度非过程化
1.非关系数据模型的数据操纵语言“面向过程”,必须指定存取路径。
2.SQL只要提出“做什么”,无须了解存取路径。
3.存取路径的选择以及SQL的操作过程由系统自动完成。
3.面向集合的操作方式
1.非关系数据模型采用面向记录的操作方式,操作对象是一条记录
2.SQL采用集合操作方式
3.操作对象、查找结果可以是元组的集合
4.一次插入、删除、更新操作的对象可以是元组的集合
4.以同一种语法结构提供多种使用方式
1.SQL是独立的语言
能够独立地用于联机交互的使用方式
2.SQL又是嵌入式语言
SQL能够迁入到高级语言(如:C,C++,Java)程序中,
供程序员设计程序时使用
5.语言简洁,易学易用
SQL功能极强,完成核心功能只用了9个动词
SQL功能 | 动词 |
---|
数据查询 | SELECT |
数据定义 | CREATE,DROP,ALTER |
数据操纵 | INSERT,UPDATE,DELETE |
数据控制 | GRANT,REVOKE |
5.SQL的基本概念
1.SQL支持关系数据库的三级结构,引入了视图的概念
2.基本表
1.本身独立存在的表
2.SQL中一个关系就对应一个基本表
3.一个(或多个)基本表对应一个存储文件
4.一个表可以带若干个索引,对应若干个视图(虚表)
3.存储文件
1.逻辑结构组成了关系数据库的内模式
2.物理结构对用户是屏蔽的
4.视图
1.从一个或几个基本表导出的表
2.数据库中只存放视图的定义而不存放视图对应的数据
3.视图是一个虚表
4.用户可以在视图上再定义视图