关系数据库标准语言-SQL课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《关系数据库标准语言-SQL课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL 课件
- 资源描述:
-
1、第五章第五章 关系数据库标准语关系数据库标准语言言SQLSQL本章教学目标、重点和难点本章教学目标、重点和难点 1.1.本章教学目标:本章教学目标:使学生了解SQL的功能和语言特点;熟练掌握用SQL进行表的定义、数据查询和数据更新,掌握SQL的数据控制方法。2.2.教学重点:教学重点:SQL的数据定义、数据查询、数据维护和数据控制表示方法 3.3.教学难点:教学难点:用SQL实现嵌套查询、组合查询、使用分组和SQL函数查询。本章内容1.1.SQLSQL的功能及特点的功能及特点2.2.数据定义语句数据定义语句3.3.数据查询语句数据查询语句4.4.数据更新语句数据更新语句5.5.嵌入式嵌入式SQ
2、LSQL6.6.数据控制机制和语句数据控制机制和语句SQLSQL的功能及特点的功能及特点19741975-19791986-198719921999由由Boyce和和Chamberlin提出提出IBM公司研制了关系公司研制了关系DBMS原型,原型,并实现该语言并实现该语言美国批准美国批准SQL作为美国标准,作为美国标准,随后随后ISO也通过这一标准也通过这一标准公布了公布了SQL-92标准标准公布了公布了SQL-99,也称作,也称作SQL3SQLSQL的功能及特点的功能及特点数据定义数据定义数据控制数据控制数据操纵数据操纵SQL语句分类语句分类SQLSQL的功能及特点的功能及特点SQL语句分类
3、语句分类数据定义数据定义数据操纵数据操纵数据控制数据控制定义关系数据库的模式、外模式和内模式,以实现对基本表、定义关系数据库的模式、外模式和内模式,以实现对基本表、视图以及索引文件的定义、修改和删除等操作。视图以及索引文件的定义、修改和删除等操作。包括数据查询和数据更新两种数据操作语句:包括数据查询和数据更新两种数据操作语句:数据查询指对数据库中的数据查询、统计、分组、排序操作;数据查询指对数据库中的数据查询、统计、分组、排序操作;数据更新指数据的插入、删除、修改等数据维护操作。数据更新指数据的插入、删除、修改等数据维护操作。通过对数据库用户的授权和收权命令来实现有关数据的存通过对数据库用户的
4、授权和收权命令来实现有关数据的存取控制,以保证数据库的安全性。取控制,以保证数据库的安全性。SQLSQL的功能及特点的功能及特点SQL的特点的特点1)SQL具有自主式语言和嵌入式语言两种使用方式;2)SQL具有语言简洁、易学易用的特点;SQL功能命令动词数据定义(数据模式定义、删除、修改)Create、Drop、Alter数据操纵(数据查询和维护)Select、Insert、Update、Delete数据控制(数据存取控制权和收权)Grant、RemoveSQLSQL的功能及特点的功能及特点SQL的特点的特点3)SQL支持三级模式结构存储文件1存储文件2基本表1基本表2基本表3基本表4视图1视
5、图2SQL外模式外模式模式模式内模式内模式数据定义语句数据定义语句操作对象操作对象创建语句创建语句删除语句删除语句修改语句修改语句基本表Create tableDrop tableAlter table索引Create indexDrop index视图Create viewDrop view数据库Create databaseDrop databaseAlter database1.1.语句格式约定符号语句格式约定符号尖括号尖括号中括号大括号或分隔符|,n实际语义实际语义任选项必选项,必选其中一项前面的项可重复多次数据定义语句数据定义语句2.2.一般语法规定一般语法规定SQL中的数据项(包括
6、列项、表和视图)分隔符为“,”,其字符串常数的定界符用单引号“”表示3.SQL3.SQL特殊语法规定特殊语法规定SQL的关键词一般使用大写字母表示;语句的结束符为“;”语句一般应采用格式化书写方式数据定义语句数据定义语句基本表的定义和维护基本表的定义和维护1.1.基本表的定义基本表的定义定义基本表语句的一般格式为:定义基本表语句的一般格式为:CREATE TABLE CREATE TABLE 库名库名 表名表名(列名列名数据类型数据类型 列级完整性约束条件列级完整性约束条件 ,列名列名数据类型数据类型 列级完整性约束条件列级完整性约束条件 ,nn ,表级完整性约束条件表级完整性约束条件 ,n)
7、n);数据定义语句数据定义语句建立基本表:建立基本表:学生学生(学号,姓名,年龄,性别,所在系学号,姓名,年龄,性别,所在系);课程课程(课程号,课程名,先行课课程号,课程名,先行课);选课选课(学号,课程号,成绩学号,课程号,成绩).).CREATE TABLE CREATE TABLE 课程课程(课程号课程号 CHAR(5)CHAR(5)PRIMARY KEYPRIMARY KEY,课程名课程名 CHAR(20)CHAR(20),先行课先行课 CHAR(5)CHAR(5);数据定义语句数据定义语句(1 1)SQLSQL支持的数据类型支持的数据类型类型表示类型表示类型说明类型说明数值型数据S
8、MALLINT半字长二进制证书,15bit数据INTEGER或INT全字长(4字长)整数,31bit数据DECIMAL(p,q)十进制数,共p位,其中小数点后q位,0qp,q=0时可省略不写FLOAT双字长浮点数字符型数据CHARTER(n)或CHAR(n)长度为n的定长图形字符串VARCHAR(n)最大长度为n的变长字符串特殊数据类型GRAPHIC(n)长度为n的定长图形字符串VARGRAPHIC(n)最大长度为n的变长图形字符串日期时间型DATE日期型,格式为YYYY-MM-DDTIME时间型,格式为HH.MM.SSTIMESTAMP日期加时间数据定义语句数据定义语句(2 2)列级完整性的
9、约束条件)列级完整性的约束条件1)NOT NULL或NULL约束NOT NULL约束不允许字段值为空而NULL约束允许字段值为空。2)UNIQUE约束UNIQUE约束是惟一性约束,即不允许列中出现重复的属性值。3)DEFAULT约束DEFAULT为默认值约束。DEFAULTDEFAULT约束名约束名默认值默认值FORFOR列名列名4)CHECK约束CHECK为检查约束。CONSTRAINTCONSTRAINT约束名约束名CHECKCHECK(约束条件表达式约束条件表达式)数据定义语句数据定义语句建立基本表:建立基本表:学生学生(学号,姓名,年龄,性别,所在系学号,姓名,年龄,性别,所在系);课
10、程课程(课程号,课程名,先行课课程号,课程名,先行课);选课选课(学号,课程号,成绩学号,课程号,成绩).).CREATE TABLE 学生学生(学号学号 CHAR(5)NOT NULL UNIQUE,姓名姓名 CHAR(8)NOT NULL,年龄年龄 SMALLINT,性别性别 CHAR(2),所在系所在系 CHAR(20),DEFAULT C1 20 FOR 年龄,年龄,CONSTRAINT C2 CHECK(性别性别 IN(男男,女女);数据定义语句数据定义语句(3 3)表级完整性的约束条件)表级完整性的约束条件1)UNIQUE约束UNIQUE约束是惟一性约束,当要求列祖的值不能有重复值
11、时,使用UNIQUE约束定义。2)PRIMARY KEY约束定义主码,保证惟一性和非空性。CONTRAINTCONTRAINT约束名约束名PRIMARYPRIMARY KEY CLUSTERED KEY CLUSTERED (列组列组)3)FOREIGN KEY约束用于定义参照完整性。CONTRAINTCONTRAINT约束名约束名FOREIGNFOREIGN KEY(KEY(外码外码)REFERENCESREFERENCES被参照表名被参照表名(与外码对应的主码名与外码对应的主码名)数据定义语句数据定义语句建立基本表:建立基本表:学生学生(学号,姓名,年龄,性别,所在系学号,姓名,年龄,性别
12、,所在系);课程课程(课程号,课程名,先行课课程号,课程名,先行课);选课选课(学号,课程号,成绩学号,课程号,成绩).).CREATE TABLE CREATE TABLE 选课选课(学号学号 CHAR(5)CHAR(5),课程号课程号 CHAR(5)CHAR(5),成绩成绩 SMALLINTSMALLINT,CONSTRAINT C3 CHECK(CONSTRAINT C3 CHECK(成绩成绩 BETWEEN 0 AND 100)BETWEEN 0 AND 100),CONSTRAINT C4 PRIMARY KEY(CONSTRAINT C4 PRIMARY KEY(学号,课程号学号,
13、课程号),CONSTRAINT C5 FOREIGN KEY(CONSTRAINT C5 FOREIGN KEY(学号学号)REFERENCES)REFERENCES 学生学生(学号学号),CONSTRAINT C6 FOREIGN KEY(CONSTRAINT C6 FOREIGN KEY(课程号课程号)REFERENCES)REFERENCES 课程课程(课程号课程号);数据定义语句数据定义语句2.2.修改基本表修改基本表ALTER TABLEALTER TABLE表名表名 ADD(ADD(新列名新列名数据类型数据类型 完整性约束完整性约束 ,n)n)DROP DROP完整性约束名完整性约
14、束名 MODIFY(MODIFY(列名列名数据类型数据类型,n)n);(1)(1)使用使用ADDADD子句增加新列子句增加新列【例5-2】向课程表中增加“学时”字段。ALTER TABLE 课程 ADD 学时 SMALLINT;(2)(2)使用使用MODIFYMODIFY子句修改列的原定义:子句修改列的原定义:MODIFYMODIFY子句主要用于加宽原列的子句主要用于加宽原列的宽度宽度(3)(3)使用使用DROPDROP子句删除指定的完整性约束条件子句删除指定的完整性约束条件【例5-3】删除学生表中对年龄的默认值的定义。ALTER TABLE 学生 DROP C1;数据定义语句数据定义语句3.
15、3.删除基本表删除基本表删除基本表的一般格式为:删除基本表的一般格式为:DROP DROP TABLETABLE表名表名;数据定义语句数据定义语句索引的定义和维护索引的定义和维护1.1.索引的作用索引的作用1)使用索引可以明显地加快数据查询的速度;使用索引可以明显地加快数据查询的速度;先将索引文件读入内存,根据索引项找到元组的地址,然后再根据先将索引文件读入内存,根据索引项找到元组的地址,然后再根据地址将元组数据直接读入计算机。地址将元组数据直接读入计算机。由于索引文件中只含有索引项和元组地址,所以文件小,一般可一由于索引文件中只含有索引项和元组地址,所以文件小,一般可一次读入内存次读入内存索
16、引文件中的索引项是经过排序的,可以很快地找到索引项值和元索引文件中的索引项是经过排序的,可以很快地找到索引项值和元组地址组地址数据定义语句数据定义语句索引的定义和维护索引的定义和维护1.1.索引的作用索引的作用1)使用索引可以明显地加快数据查询的速度;使用索引可以明显地加快数据查询的速度;2)使用索引可保证数据的惟一性;使用索引可保证数据的惟一性;3)使用索引可以加快连接速度。使用索引可以加快连接速度。2.2.建立索引的原则建立索引的原则1)索引的建立和维护由索引的建立和维护由DBA和和DBMS完成;完成;2)大表应当建索引,小表则不必建索引;大表应当建索引,小表则不必建索引;3)对于一个基本
17、表,不要建立过多的索引;对于一个基本表,不要建立过多的索引;4)根据查询要求建索引。根据查询要求建索引。数据定义语句数据定义语句3.3.建立索引的格式建立索引的格式建立格式为:CREATE UNIQUE CLUSTER INDEX索引名 ON表名(列名次序,列名次序);1)1)是要建索引的基本表的名字;是要建索引的基本表的名字;2)2)每个每个 后面还可以用后面还可以用 指定索引值的排列次序,次序可选指定索引值的排列次序,次序可选ASCASC(升序)或(升序)或DESCDESC(降序),默认值为(降序),默认值为ASCASC;3)3)UNIQUEUNIQUE表示该索引的每一个索引值只对应唯一的
18、数据记录;表示该索引的每一个索引值只对应唯一的数据记录;4)4)CLUSTERCLUSTER表示要建立的索引是聚簇索引,使基本表中数据的物理顺序表示要建立的索引是聚簇索引,使基本表中数据的物理顺序与索引项的排列顺序一致。与索引项的排列顺序一致。数据定义语句数据定义语句3.3.建立索引的格式建立索引的格式 【例5-4】为学生_课程数据库中的学生、课程和选课三个表建立索引。其中,学生表按学号升序建立索引;课程表按课程号升序建惟一索引;选课表按学号升序和课程号降序建惟一索引。CREATE UNIQUE INDEX 学号 ON 学生(学号);CREATE UNIQUE INDEX 课程号 ON 课程(
19、课程号);CREATE UNIQUE INDEX 选课号 ON 选课(学号 ASC,课程号 DESC);数据定义语句数据定义语句4.4.删除索引删除索引删除索引格式为:DROP INDEX 索引名;例:删除学生表的学生姓名索引DROP INDEX 学生姓名数据定义语句数据定义语句视图的定义和维护视图的定义和维护1.1.视图的优点视图的优点视图是根据子模式设计的关系,由一个或几个基本表导出的虚表。1)1)视图能够简化用户的操作;视图能够简化用户的操作;视图机制可以减少用户对数据库中数据结构的调整操作,使用户将注视图机制可以减少用户对数据库中数据结构的调整操作,使用户将注意力集中在所关心的数据上。
20、意力集中在所关心的数据上。2 2)视图机制可以使用户以不同的方式看待同一数据;)视图机制可以使用户以不同的方式看待同一数据;当多用户共享同一个数据库的数据时,通过视图机制可以实现各个用当多用户共享同一个数据库的数据时,通过视图机制可以实现各个用户对数据的不同使用要求。户对数据的不同使用要求。3 3)视图可以对机密的数据提供安全保护)视图可以对机密的数据提供安全保护数据定义语句数据定义语句1.1.视图的优点视图的优点4 4)视图对数据库的重构提供了一定程度的逻辑独立性;)视图对数据库的重构提供了一定程度的逻辑独立性;在关系数据库中,数据库的重构往往是不可避免的。但由于视图机制,在关系数据库中,数
21、据库的重构往往是不可避免的。但由于视图机制,将为应用程序提供了原来使用的关系,保持外模式。将为应用程序提供了原来使用的关系,保持外模式。原表:学生(学号,姓名,性别,年龄,所在系)分成:SX(学号,姓名,年龄)SY(学号,性别,所在系)CREATE VIEW 学生(学号,姓名,性别,年龄,所在系)AS SELECT SX.学号,SX.姓名,SX.性别,SY.年龄,SY.所在系FROM SX,SYWHERE SX.学号=SY.学号;数据定义语句数据定义语句2.2.视图定义的格式视图定义的格式一般格式为:一般格式为:CREATE VIEWCREATE VIEW视图名视图名(列名组列名组)AS AS
22、子查询子查询 WITH CHECK OPTION WITH CHECK OPTION;(1 1)WITH CHECK OPTIONWITH CHECK OPTION选项选项 表示在对视图进行UPDATE、INSERT和DELETE操作时,要保证操作的数据满足视图定义中的谓词条件。该谓词条件是视图子查询中的WHERE子句的条件。数据定义语句数据定义语句2.2.视图定义的格式视图定义的格式一般格式为:一般格式为:CREATE VIEWCREATE VIEW视图名视图名(列名组列名组)AS AS子查询子查询 WITH CHECK OPTION WITH CHECK OPTION;(2 2)组成视图的
23、属性列名全部省略或者全部指定)组成视图的属性列名全部省略或者全部指定 若省略了视图的各个属性列名,则由子查询中的SELECT子句的目标列代替 必须明确指定列名的情况某个目标列是集函数或列表达式;子查询中使用多个表(或视图),并且目标列中含有相同的属性名;需要在视图中改用新的、更合适的列名。数据定义语句数据定义语句2.2.视图定义的格式视图定义的格式【例5-6】建立计算机系学生的视图。CREATE VIEW 计算机系学生 AS SELECT SELECT 学号,姓名,年龄学号,姓名,年龄 FROM 学生 WHERE 所在系=计算机系;数据定义语句数据定义语句2.2.视图定义的格式视图定义的格式【
24、例5-7】由学生、课程和选课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩CREATE VIEW CREATE VIEW 学生成绩学生成绩(学号,姓名,课程名,成绩学号,姓名,课程名,成绩)AS SELECT AS SELECT 学生学生.学号,学生学号,学生.姓名,课程姓名,课程.课程名,选课课程名,选课.成绩成绩 FORM FORM 学生,课程,选课学生,课程,选课 WHERE WHERE 学生学生.学号学号=选课选课.学号学号 AND AND 程程.课程名课程名=选课选课.课程号课程号 AND AND 学生学生.所在系所在系=计算机系计算机系;数据定义语句数据
25、定义语句2.2.视图定义的格式视图定义的格式【例5-8】将学生的学号、总成绩、平均成绩定义成一个视图。CREATE CREATE VIEW VIEW 学生学生成绩统计成绩统计(学号学号,总成绩,平均成绩,总成绩,平均成绩)AS SELECT AS SELECT 学学号号,SUMSUM(成绩),(成绩),AVGAVG(成绩)(成绩)FORM FORM 选课选课 GROUP BY GROUP BY 学号;学号;3.3.视图的删除视图的删除 DROP VIEW DROP VIEW 数据定义语句数据定义语句4.4.视图的查询和维护视图的查询和维护视图可以和基本表一样被查询,其使用方法与基本表相同,但利
展开阅读全文