文档详情

09第五章关系数据库标准语言SQL1.ppt

发布:2017-04-21约2.05千字共44页下载文档
文本预览下载声明
第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
显示全部
相似文档