文档介绍:第三章 关系数据库语言SQL
概述
SQL的数据定义
SQL的数据操纵
SQL的视图定义
SQL的数据控制
嵌入式SQL
第三章
关系数据库语言SQL
第1页/共74页
概述
SQL(Structured Query Language)是1974年由Boyde和Chamberlin提出的
1974年 IBM的System R
1979年 Oracle
1982年 IBM的DB2
1984年 Sybase
1986年10月ANSI公布SQL-86标准
1989年ISO公布SQL-89标准(120页)
1992年公布SQL-92标准(622页)
1999年公布SQL-99标准(1700页)
2003年公布SQL-2003标准(3600页)
第三章
关系数据库语言SQL
概述
第2页/共74页
SQL语言的特点
综合统一
集DDL、DML、DCL为一体
实体和联系都是关系,因此每种操作只需一种操作符
高度非过程化
面向集合的操作方式
以同一种语法结构提供两种使用方式(交互式和嵌入式)
语言简捷,易学易用
数据定义 CREATE、DROP、ALTER
数据查询 SELECT
数据更新 INSERT、UPDATE、DELETE
数据控制 GRANT、REVOKE
第三章
关系数据库语言SQL
概述
第3页/共74页
SQL语言的特点
支持三级模式结构
视图 外模式
基本表(的集合) 模式
存储文件和索引 内模式
第三章
关系数据库语言SQL
概述
第4页/共74页
SQL数据库体系结构
用户2
用户3
用户4
视图V1
视图V2
基本表B1
基本表B2
基本表B3
基本表B4
存储文件S1
存储文件S2
存储文件S3
存储文件S4
用户1
SQL用户
视图
基本表
存储文件
第三章
关系数据库语言SQL
概述
第5页/共74页
SQL的组成
数据定义语言(The Data Definition Language, DDL)
数据操作语言(The Data Manipulation Language, DML)
嵌入式和动态SQL
事务管理
安全性管理
触发器和高级完整性约束
客户服务器执行和远程数据库存取
高级特性
第三章
关系数据库语言SQL
概述
第6页/共74页
SQL的数据定义
定义和修改基本表(定义模式中的关系):
CREATE TABLE
DROP TABLE
ALTER TABLE
定义视图(定义外模式):
CREATE VIEW
DROP VIEW
定义索引(定义内模式):
CREATE INDEX
DROP INDEX
第三章
关系数据库语言SQL
SQL的数据定义
第7页/共74页
基本表的定义
基本格式
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ] );
<表名>:所要定义的基本表的名字
<列名>:组成该表的各个属性(列)
<列级完整性约束条件>:涉及相应属性列的完整性约束条件
<表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件
第三章
关系数据库语言SQL
SQL的数据定义
第8页/共74页
[例1] 建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,值是唯一的,并且姓名取值也唯一。
CREATE TABLE Student
(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20) UNIQUE,
Ssex CHAR(1) ,
Sage INT,
Sdept CHAR(15));
基本表的定义
第三章
关系数据库语言SQL
SQL的数据定义
第9页/共74页
基本表的定义
说明:
SQL支持空值的概念。允许空值的列未输入数据时系统自动置为空值。
SQL支持的数据类型随系统不同而有