《数据库系统原理》第3章 关系数据库标准语言SQLppt课件学习培训课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《数据库系统原理》第3章 关系数据库标准语言SQLppt课件学习培训课件.ppt》由用户(林田)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库系统原理 数据库系统原理第3章 关系数据库标准语言SQLppt课件学习培训课件 数据库 系统 原理 关系 标准 语言 SQLppt 课件 学习 培训
- 资源描述:
-
1、数据库系统原理 厦门大学计算机科学系 林子雨 2017版 计算机科学系 2017版厦门大学厦门大学第第3章章 关系数据库标准语言关系数据库标准语言SQL(2017版)版)数据库系统原理数据库系统原理数据库系统原理 厦门大学计算机科学系 林子雨 2017版提纲n3.1 SQL概述概述n3.2 学生学生-课程数据库课程数据库n3.3 数据定义数据定义n3.4 数据查询数据查询n3.5 数据更新数据更新n3.6 视图视图数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.1 SQL概述 3.1.1 SQL的产生与发展的产生与发展 3.1.2 SQL的特点的特点 3.1.3 SQL的基本概念的
2、基本概念数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.1.1 SQL的产生与发展 1974年,由Boyce和Chamberlin提出,并在IBM公司研制的关系数据库管理系统原型System R 上实现 1986年10月,美国国家标准局的数据库委员会X3H2批准了SQL作为关系数据库语言的美国标准,并公布了SQL标准文本 1987年,国际标准化组织通过这一标准数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.1.2 SQL的特点SQL的特点的特点n 1.综合统一n 2.高度非过程化n 3.面向集合的操作方式n 4.以同一种语法结构提供两种使用方法n 5.语言简洁,易学易用
3、数据库系统原理 厦门大学计算机科学系 林子雨 2017版1、综合统一(操纵三级模式)SQL视图1视图2基表1基表2基表3基表4存储文件1存储文件2外模式模式内模式数据库系统原理 厦门大学计算机科学系 林子雨 2017版5、语言简捷,易学易用表语言的动词SQL 功 能动 词数 据 定 义CREATE,DROP,ALTER数 据 查 询SELECT数 据 操 纵数 据 控 制GRANT,REVOKE3.1 SQLINSERT,UPDATE,DELETE数据库系统原理 厦门大学计算机科学系 林子雨 2017版第3章 关系数据库标准语言SQL 3.1 SQL概述概述 3.2 学生学生-课程数据库课程数
4、据库 3.3 数据定义数据定义 3.4 数据查询数据查询 3.5 数据更新数据更新 3.6 视图视图数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.2 学生-课程数据库学生学生-课程数据库课程数据库 学生表:学生表:Student(Sno,Sname,Ssex,Sage,Sdept)课程表:课程表:Course(Cno,Cname,Cpno,Ccredit)学生选课表:学生选课表:SC(Sno,Cno,Grade)数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.2 学生-课程数据库学 号Sno姓 名Sname性 别Ssex年 龄Sage所 在 系Sdept95001李勇
5、男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS Student(a)数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.2 学生-课程数据库课程号课程名先行课学分CnoCnameCpnoCcredit1数据库542数学 23信息系统144操作系统635数据结构746数据处理 27PASCAL语言64Course(b)数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.2 学生-课程数据库学 号课 程 号成 绩SnoCnoGrade9500119295001285950013889500229095002380SC(c)数据库系统原理 厦门大学
6、计算机科学系 林子雨 2017版提纲 3.1 SQL概述概述 3.2 学生学生-课程数据库课程数据库 3.3 数据定义数据定义 3.4 数据查询数据查询 3.5 数据更新数据更新 3.6 视图视图数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3 数据定义 3.3.1 模式的定义与删除模式的定义与删除 3.3.2 基本表的定义、删除与修改基本表的定义、删除与修改 3.3.3 索引的建立与删除索引的建立与删除数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3 数据定义表表3.2 SQL的的数数据据定定义义语语句句操操 作作 方方 式式操操 作作 对对象象创创 建建删删 除
7、除修修 改改表表CREATET ABLEDROPT ABLEALTERT ABLE视视 图图CREATEVIEWDROP VIEW索索 引引CREATEINDEXDROPINDEX数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3 数据定义 3.3.1 模式的定义与删除模式的定义与删除 3.3.2 基本表的定义、删除与修改基本表的定义、删除与修改 3.3.3 索引的建立与删除索引的建立与删除数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3.1 模式的定义与删除一、定义模式一、定义模式 CREATE SCHEMA AUTHORIZATION Ps:1、若没有指定、若没有
8、指定,那么,那么隐含为隐含为2、要创建模式,调用该命令的用户必须具有、要创建模式,调用该命令的用户必须具有DBA权限,或者权限,或者获得了获得了DBA授予的授予的CREATE SCHEMA的权限的权限数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例1 定义一个学生定义一个学生-课程模式课程模式S-TCREATE SCHEMA“S-T”AUTHORIZATION WANG;为用户为用户“WANG”定义了一个模式定义了一个模式S-T数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3.1 模式的定义与删除二、删除模式二、删除模式 DROP SCHEMA 其中其中CASCA
9、DE和和RESTRICT两者必选其一两者必选其一1、CASCADE(级联),表示在删除模式同时把该模式中所(级联),表示在删除模式同时把该模式中所有的数据库对象全部一起删除有的数据库对象全部一起删除2、RESTRICT(限制),表示若该模式下已定义了下属的数(限制),表示若该模式下已定义了下属的数据库对象,则拒绝删除据库对象,则拒绝删除数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例4 删除模式删除模式ZHANGDROP SCHEMA ZHANG CASCADE数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3 数据定义 3.3.1 模式的定义与删除模式的定义与删除
10、 3.3.2 基本表的定义、删除与修改基本表的定义、删除与修改 3.3.3 索引的建立与删除索引的建立与删除数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3.2 基本表的定义、删除与修改一、定义基本表一、定义基本表 :所要定义的基本表的名字:所要定义的基本表的名字:组成该表的各个属性(列):组成该表的各个属性(列):涉及相应属性列的完整性约束条件:涉及相应属性列的完整性约束条件:涉及一个或多个属性列的完整性约束条件:涉及一个或多个属性列的完整性约束条件CREATE TABLE (,);数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例1 建立一个建立一个“学生学生”
11、表表Student,它由学号,它由学号Sno、姓名、姓名Sname、性别、性别Ssex、年龄、年龄Sage、所在系、所在系Sdept五个属性组成。其中学号是主键,并且姓名五个属性组成。其中学号是主键,并且姓名取值也唯一。取值也唯一。CREATE TABLE Student (Sno CHAR(5)primary key,Sname CHAR(8)UNIQUE,Ssex CHAR(2),Sage INT,Sdept CHAR(10);数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题(续)SnoSnameSsexSageSdept 字符型 字符型 字符型 整数 字符型长度为5 长度为8
12、 长度为2 长度为10不能为空值数据库系统原理 厦门大学计算机科学系 林子雨 2017版定义基本表(续)常用完整性约束常用完整性约束 主码约束:主码约束:PRIMARY KEY 唯一性约束:唯一性约束:UNIQUE 非空值约束:非空值约束:NOT NULL 参照完整性约束参照完整性约束PRIMARY KEY与与 UNIQUE的区别?的区别?数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题(续)例例2 建立一个建立一个“学生选课学生选课”表表SC,它,它由学号由学号Sno、课程号、课程号Cno,修课成绩,修课成绩Grade组成,其中组成,其中(Sno,Cno)为主码。为主码。CREA
13、TE TABLE SC(Sno CHAR(5),Cno CHAR(3),Grade int,Primary key(Sno,Cno);数据库系统原理 厦门大学计算机科学系 林子雨 2017版二、修改基本表ALTER TABLE ADD 完整性约束完整性约束 DROP ALTER COLUMN DROP COLUMN ;n:要修改的基本表nADD子句:增加新列和新的完整性约束条件nDROP子句:删除指定的完整性约束条件nALTER COLUMN子句:用于修改列名和数据类型nDROP COLUMN子句:用于删除列数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例2 向向Student
14、表增加表增加“入学时间入学时间”列,其数列,其数据类型为日期型。据类型为日期型。ALTER TABLE Student ADD Scome DATETIME;n不论基本表中原来是否已有数据,新增加的列一律为空值。数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例3 将入学日期的数据类型改为字符型。将入学日期的数据类型改为字符型。ALTER TABLE Student ALTER COLUMN Scome char(8);n注:修改原有的列定义有可能会破坏已有数据数据库系统原理 厦门大学计算机科学系 林子雨 2017版语句格式(续)删除属性列删除属性列例例4 将入学日期列删除掉。将
15、入学日期列删除掉。ALTER TABLE Student DROP COLUMN Scome 数据库系统原理 厦门大学计算机科学系 林子雨 2017版三、删除基本表 DROP TABLE;基本表删除基本表删除数据、表上的索引数据、表上的索引 自动都删除自动都删除数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题例例5 删除删除SC表表DROP TABLE SC;数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3 数据定义 3.3.1 模式的定义与删除模式的定义与删除 3.3.2 基本表的定义、删除与修改基本表的定义、删除与修改 3.3.3 索引的建立与删除索引的建立与删除
16、数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.3.3 索引的建立与删除 建立索引是加快查询速度的有效手段建立索引是加快查询速度的有效手段 建立索引建立索引 DBA或表的属主(即建立表的人)根据需要建立或表的属主(即建立表的人)根据需要建立 有些有些DBMS自动建立以下列上的索引自动建立以下列上的索引 PRIMARY KEY UNIQUE 维护索引维护索引 DBMS自动完成自动完成 使用索引使用索引 DBMS自动选择是否使用索引以及使用哪些索引自动选择是否使用索引以及使用哪些索引数据库系统原理 厦门大学计算机科学系 林子雨 2017版一、建立索引 语句格式语句格式CREATE UN
17、IQUE CLUSTER INDEX ON(,);nn用指定要建索引的基本表名字n索引可以建立在该表的一列或多列上,各列名之间用逗号分隔n用指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASCnUNIQUE表明此索引的每一个索引值只对应唯一的数据记录nCLUSTER表示要建立的索引是聚簇索引数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)唯一值索引唯一值索引 对于已含重复值的属性列不能建对于已含重复值的属性列不能建UNIQUE索引索引 对某个列建立对某个列建立UNIQUE索引后,插入新记录时索引后,插入新记录时DBMS会自动检查新记录在该列上是否取了重复会自
18、动检查新记录在该列上是否取了重复值。这相当于增加了一个值。这相当于增加了一个UNIQUE约束约束数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)聚簇索引聚簇索引 建立聚簇索引后,基表中数据也需要按指定的建立聚簇索引后,基表中数据也需要按指定的聚簇属性值的升序或降序存放。也即聚簇索引聚簇属性值的升序或降序存放。也即聚簇索引的索引项顺序与表中记录的物理顺序一致的索引项顺序与表中记录的物理顺序一致例:例:CREATE CLUSTER INDEX Stusname ON Student(Sname);在在Student表的表的Sname(姓名)列上建立一个聚簇索引,而(姓名)列上
19、建立一个聚簇索引,而且且Student表中的记录将按照表中的记录将按照Sname值的升序存放值的升序存放 数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)在一个基本表上最多只能建立一个聚簇索引在一个基本表上最多只能建立一个聚簇索引 聚簇索引的用途:对于某些类型的查询,可聚簇索引的用途:对于某些类型的查询,可以提高查询效率以提高查询效率 聚簇索引的适用范围聚簇索引的适用范围 很少对基表进行增删操作很少对基表进行增删操作 很少对其中的变长列进行修改操作很少对其中的变长列进行修改操作 聚簇索引的不适用情形聚簇索引的不适用情形 表记录太少 经常插入、删除、修改的表 数据分布平均的
20、表字段数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)在下列三种情况下,有必要建立簇索引:(1)查询语句中采用该字段作为排序列(2)需要返回局部范围的大量数据(3)表格中某字段内容的重复性比较大例如,student表中dno(系号)一列有大量重复数据,当在dno列上建立了簇索引后,下面的连接查询速度会加快。数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)多列索引和多个单列索引考虑两种不同的建立索引方式:case 1:对c1,c2,c3三列按此顺序添加一个多列索引;case 2:对c1,c2,c3分别建立三个单列索引;问题1:按c1搜索时,哪种索引效率
21、快?答:case2问题2:按C2搜索时,哪种索引效率快?答:case2,并且,case1的索引无效问题3:按C1,C2,C3搜索哪种效率快?答:case1问题4:按C2,C3,C1搜索时哪种效率快?答:case2,因为没有按多列索引的顺序搜索,case1的索引没有使用到。覆盖查询简单的说就是所有查询列被所使用的索引覆盖的查询覆盖查询简单的说就是所有查询列被所使用的索引覆盖的查询数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)如何去建立一个多列索引,最重要的一个问题是如何安排列的顺序是至关重要的比如需要对一个表tb里面的两个字段foo,bar建一个索引,那么索引的顺序是(f
22、oo,bar)还是(bar,foo)呢假设tb表有1700条记录,foo字段有750个不同的记录,那么foo字段上的cardinality是750。总规则可以说是cardinality越大的字段应该排在索引的第一位就是说索引的位置是(foo,bar),因为cardinality越大那么第一次取出来的记录集就越小,再进行第二次查询的次数就越少了。数据库系统原理 厦门大学计算机科学系 林子雨 2017版建立索引(续)当在同一表格中建立簇索引和非簇索引时,先建立簇索引后建非簇索引比较好。因为如先建非簇索引的话,当建立簇索引时,SQL Server会自动将非簇索引删除,然后重新建立非簇索引。每个表仅可
23、以有一个簇索引,最多可以有249个非簇索引。它们均允许以一个或多个字段作为索引关键字(Index Key),但最多只能有16个字段。SQL Server只对那些能加快数据查询速度的索引才能被选用。如果利用索引检索还不如顺序扫描速度快,SQL Server仍用扫描方法检索数据。建立不能被采用的索引只会增加系统的负担,降低检索速度。因此,可利用性是建立索引的首要条件。数据库系统原理 厦门大学计算机科学系 林子雨 2017版例题 例例6 为学生为学生-课程数据库中的课程数据库中的Student,Course,SC三个表建立索引。其中三个表建立索引。其中Student表按学号升序建唯一表按学号升序建唯
24、一索引,索引,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);数据库系统原理 厦门大学计算机科学系 林子雨 2017版二、删除索引 DROP INDEX;删除索引时,系统会从数据字典中删去有关删除索引时,系统会从数据字典中删去有关该索引的描
25、述。该索引的描述。例例7 删除删除Student表的表的Stusname索引。索引。DROP INDEX Student.Stusname;数据库系统原理 厦门大学计算机科学系 林子雨 2017版第3章 关系数据库标准语言SQL 3.1 SQL概述概述 3.2 学生学生-课程数据库课程数据库 3.3 数据定义数据定义 3.4 数据查询数据查询 3.5 数据更新数据更新 3.6 视图视图数据库系统原理 厦门大学计算机科学系 林子雨 2017版3.4 查 询 n3.4.1 单表查询单表查询n3.4.2 连接查询连接查询n3.4.3 嵌套查询嵌套查询n3.4.4 集合查询集合查询n3.4.5 SEL
展开阅读全文