09第五章关系数据库标准语言SQL1.ppt
文本预览下载声明
第5章;主 要 内 容;5.1 SQL的功能及特点;一般地,按SQL的功能,可以分为三类:
⑴数据定义语句(DDL) 定义关系数据库的模式、外模式和内模式,以实现对基本表、视图以及索引文件的定义、修改和删除等操作。
⑵数据操纵语句(DML)
包括数据查询和数据更新两种数据操作语句。
数据查询指对数据库中的数据查询、统计、分组、排序操作;
数据更新指数据的插入、删除、修改等数据维护操作。
⑶数据控制语句 通过对数据库用户的授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。;5.1 SQL的功能及特点;5.2 数 据 定 义 ;5.2 数 据 定 义;SQL语句格式中,约定符号和语法规定:
“”中为实际语义,不可少;
“[]”中为任选项;
“{}”或分隔符“|”中为必选其中一项;
“[,…n]”表示前面的项可以重复多次;
数据项分隔符为“;”,字符串常数的定界符用单引号“′”;
SQL的关键词都用大写字母;
语句结束符为“;”;
语句一般用采用格式化书写方式。;5.2.1 定义语句格式;;表级完整性约束条件:涉及一个或多个属性列的完整性约束条件
UNIQUE约束。惟一性约束。
PRIMARY KEY约束。定义主码,保证惟一性和非空性。
FOREIGN KEY约束。用于定义参照完整性。;例题 ;常用完整性约束
主码约束: PRIMARY KEY
唯一性约束:UNIQUE
非空值约束:NOT NULL
参照完整性约束:FOREIGN KEY
★PRIMARY KEY与 UNIQUE的区别?
“PRIMARY KEY”必须“NOT NULL”“UNIQUE”;[例2] 建立表Course,它由课程号Cno、课程名Cname,先修课程Cpno和学分Ccredit组成,其中Cno为主码。;例题 (续);5.2.2 修改基本表;[例4] 向Student表增加“入学时间Scome”列,其数据类型为日期型。
ALTER TABLE Student
ADD Scome DATE;
注意:不论基本表中原来是否已有数据,新增加的列一律为空值。?
; ;[例6] 删除学生姓名必须取唯一值的约束。
ALTER TABLE Student
DROP UNIQUE(Sname); ;5.2.3 删除基本表 ;[例7] 删除Student表;
DROP TABLE Student ;;5.2.4 索引的定义与维护;5.2.4 索引的定义与维护;5.2.4 索引的定义与维护;5.2.4 索引的定义与维护; [例8] 为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC); ;唯一值索引的说明:
对于已含重复值的属性列不能建UNIQUE索引;
对某个列建立UNIQUE索引后,插入新记录时DBMS会自动检查新记录在该列上是否取了重复值。这相当于给该列增加了一个UNIQUE约束。;四、删除索引 ;5.2.5 视图的定义和维护;5.2.5 视图的定义和维护;5.2.5 视图的定义和维护;5.2.5 视图的定义和维护;5.2.5 视图的定义和维护;5.2.5 视图的定义和维护;1.行列子集视图:从单个基本表导出,只是去掉了基本表的某些行和某些列,保留了码。视图的列名由SELECT子句指定。;2.基于多个基本表的视图;3.基于视图的视图;4.带表达式的视图; 5.建立分组视图;因此,常见的视图形式有:
行列子集视图
基于多个基表的视图
基于视图的视图
带表达式的视图
分组视图;三、 删除视图
DROP VIEW 视图名;
该语句从数据字典中删除指定的视图定义;
由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须用DROP VIEW显式删除;
删除基表时,由该基表导出的所有视图定义都必须显式删除;;三、 删除视图
DROP VIEW 视图名;
[例6] 删除视图CS_S1
DROP VIEW CS_S1;
;SQL的数据定义语句:
TABLE (CREATE 、ALTER、DROP)
INDEX (CREAT
显示全部