资源描述:
《关系数据库与SQLServer2012第3版教学课件作者龚小勇第19讲视图和索引课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章视图与索引第19讲复习:数据库的基本关系运算投影(查询指定的列)连接(查询多个表)选择(查询符合条件的行)基本查询对一张表的查询对表中的原始数据的查询分别用什么子句实现?select列表名from表名[,…n]where条件例:select*fromxsqkwhere出生日期<‘1997-01-01’and性别=0复习:汇总查询(1)使用聚合函数:每个聚合函数只返回一个单值。selectavg(成绩)fromxs_kc(2)分类汇总:每个组返回一条汇总记录。select学号,avg(成绩)fromxs_kcgroupby学号havingavg(成绩
2、)>75复习:连接查询:同时查询多个表中的信息。内连接:将多表中满足条件的行连接起来。selectxsqk.学号,姓名,课程号,成绩fromxsqk,xs_kcwherexsqk.学号=xs_kc.学号and成绩<60外连接:将满足条件的行连接,不匹配的行也保留。自连接:将同一个表中满足条件的行连接起来。复习:子查询:一个select语句(内查询)作为另一条select语句(外查询)的一部分。相关子查询:内查询的执行依赖外查询。嵌套子查询:(不依赖)select学号,姓名,联系电话fromxsqkwhere(selectavg(成绩)fromxs_kcw
3、herexsqk.学号=xs_kc.学号)>60select课程名称,授课教师fromkcwhere课程号=ANY(select课程号fromxs_kcwhere成绩<60)说明:子查询执行后,若返回1个单值,则可用比较运算符来设置条件:若返回一个列表值,则可用:(not)in、any、allin第6章视图与索引教学内容基础知识:视图概述创建、修改、删除视图使用视图管理数据表中的数据索引概述创建、删除索引第6章视图与索引学习目标认知目标:了解视图的概念、使用的目的和好处理解索引的概念、创建索引的必要性、索引的类型能力目标:掌握创建、修改、删除视图的方法(
4、重点)掌握创建、删除索引的方法(重点、难点)一、视图概述视图的含义和作用是基于某个查询结果的虚表。是用户查看和修改数据表中数据的一种方式。每个视图都有若干被定义的列和行。视图与基表的关系视图中的数据列和行来源于是其引用的基表。视图所对应的数据并不实际存储在数据库中,而是仍存储在视图所引用的基表中。数据库中只存储视图的定义。一、视图概述使用视图的目的与好处聚焦特定数据:使用户只能看到和操作与他们有关的数据,提高了数据的安全性。简化数据操作:使用户不必写复杂的查询语句就可对数据进行操作。定制用户数据:使不同水平的用户能以不同的方式看到不同的数据。合并分离数据
5、:视图可以从水平和垂直方向上分割数据,但原数据库的结构保持不变。二、创建视图最基本的语句格式:createview视图asselect查询语句[withcheckoption]通过SSMS创建视图强制所有通过视图修改的数据满足select语句中指定的条件。二、创建视图实例1:创建一个名为“v1”的视图,用于查询成绩在60~80之间的学生学号、姓名、专业名、课程号、成绩信息。createviewv1asselectxsqk.学号,姓名,专业名,课程号,成绩fromxsqk,xs_kcwherexsqk.学号=xs_kc.学号and成绩>=60and成绩<8
6、0goselect*fromv1通过视图查询基表中的数据。三、修改视图语法格式:alterview视图asselect查询语句[withcheckoption]通过SSMS修改视图三、修改视图实例2:在“v1”的视图中增加一列:所在系。alterviewv1asselectxsqk.学号,姓名,专业名,课程号,成绩,所在系fromxsqk,xs_kcwherexsqk.学号=xs_kc.学号and成绩>=60and成绩<80四、删除视图语句格式dropview视图名[,…n]五、使用视图管理数据表中的数据说明:视图可以代替表完成从表中查询、插入、更新和删
7、除数据的操作。五、使用视图管理数据表中的数据----1.插入数据实例3:创建了一个“V2”的视图,用于查询网络工程专业的学生信息,包括学号、姓名、性别、出生日期、专业名、所在系。createviewv2asselect学号,姓名,性别,出生日期,专业名,所在系fromxsqkwhere专业名=‘网络工程’五、使用视图管理数据表中的数据----1.插入数据向“V2”视图中添加两条记录。insertintov2values(‘2012130206’,‘李好’,1,‘1996-04-22’,‘网络工程’,‘计算机应用’)insertintov2values(‘
8、2012130106’,‘周权’,1,‘1986-07-08’,‘信息安全’,‘