文档介绍:第三章关系数据库标准语言SQL
SQL概述
SQL数据定义功能
SQL数据查询功能
SQL数据修改功能
视图的使用
SQL数据控制功能
嵌入式SQL
作业P148 3、4、 5、11、12
1
SQL概述
历史
SQL: Struceured Query Languang
1974年,由Boyce和Chamber提出
1975-1979年,在System R上实现,由IBM的San Jose研究室研制,称为Sequel
后来SEQUEL简称为SQL (Structured Query Language ),即“结构式查询语言”,SQL的发音仍为“sequel”。现在SQL已经成为一个标准。
2
SQL概述
用户1
用户2
用户4
视图V1
视图V1
用户3
基本表B1
基本表B2
基本表B4
基本表B3
存储文件S1
存储文件S2
存储文件S4
存储文件S3
SQL数据库体系结构
SQL用户
VIEW
Base Table
Stored file
3
SQL概述
特点
一体化
集DDL,DML,DCL于一体
单一的结构----关系,带来了数据操作符的统一
面向集合的操作方式
一次一集合
高度非过程化
用户只需提出“做什么”,无须告诉“怎么做”,不必了解存取路径
两种使用方式,统一的语法结构
SQL既是自含式语言(用户使用),又是嵌入式语言(程序员使用)
语言简洁,易学易用
4
SQL概述
SQL功能
操作符
数据查询
SELECT
数据定义
CREATE,ALTER,DROP
数据操纵
INSERT,UPDATE,DELETE
数据控制
GRANT,REVOKE
5
SQL数据定义功能
基本表的定义
索引的定义
SQL数据定义特点
DEPT(D# , DNAME , DEAN)
S(S# , SNAME , SEX , AGE , D#)
COURSE(C# , CN , PC# , CREDIT)
SC(S# , C# , SCORE)
PROF(P# , PNAME, AGE, D# , SAL)
PC(P# , C#)
6
基本表的定义
基本表的定义(CREATE)
格式
create table 表名(
列名数据类型[列级完整性约束条件]
[,列名数据类型[列级完整性约束条件]]
……
[,表级完整性约束条件]
)
7
基本表的定义
数据类型(SQL-92)
char(n):固定长度的字符串
varchar(n):可变长字符串
int:整数
smallint:小整数类型
numeric(p,d):定点数,共p位,小数点后有q位
real:浮点数
double precision:双精度浮点数
date:日期(年、月、日)
time:时间(小时、分、秒)
8
基本表的定义
常用完整性约束
主码约束: primary key(列名[,列名] …)
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束:
foreign key (列名[,列名] …)
references 表名(列名[,列名] …)
check(条件)
default 缺省值
<列级约束条件>:涉及相应属性列的完整性约束条件
<表级约束条件>:涉及一个或多个属性列的约束条件
9
基本表的定义
例建立一个“学生”表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号为主码,并且姓名取值不允许空。
CREATE TABLE Student
(Sno CHAR(5) NOT NULL,
Sname CHAR(20) NOT NULL ,
Ssex CHAR(1) ,
Sage INT,
Sdept CHAR(15),
PRIMARY KEY (Sno));
10