内容正文:
6
视图与索引
第
章
1
本章导读
为了应对数据库中频繁的查询操作,SQL Server提供了视图和索引来提升查询的效率。视图是查询语句的结果集,它隐藏了底层的表结构,既简化了数据操作语句又保证了数据库的安全性;索引可以将数据的逻辑排序存储在物理空间中,在数据量巨大的情况下缩减查询时间。
本章将介绍视图与索引的基本概念,以及使用SSMS与T-SQL创建、删除及修改视图或索引的方法。
2
知识目标
理解视图的基本概念。
理解索引的基本概念,熟悉索引的类型。
能力目标
能够使用SSMS创建、修改、删除及更新视图。
能够使用T-SQL创建、修改、删除、查询及更新视图。
能够使用SSMS创建、删除、查看及修改索引。
能够使用T-SQL创建、删除、查看及修改索引。
素质目标
注重学思结合,知行合一,培养勇于探究的精神。
提高逻辑思维能力,树立追求卓越的奋斗意识。
3
项目导航
视图
1
索引
2
01
视图
5
6.1.1 视图的基本概念
— 6 —
视图
1
视图是一种数据库对象,它是由数据表或视图上的查询所定义的虚拟表。
简单来说,视图就是一条SELECT语句所对应的结果集,结果集的名字就是视图名。
视图在被定义之后便存储在数据库中,但相应的数据并不会再存储一遍,通过视图看到的数据是所引用的数据表中的数据。所以,当数据表中的数据更新时,视图中的数据也会随之更新。同样,视图中的数据更新时,数据表中的数据也会随之更新。
6
— 7 —
视图的优点与作用
2
(1)简单化。视图可以只提取出用户需要的数据,即“看到的就是需要的”,便于管理和使用。经常使用的查询可以创建成视图,使用户之后使用时只需查询单个视图,就能够获取需要的信息,不需要在每次使用时都指定全部的查询条件。
(2)安全性。数据库管理系统能够为不同的用户定制不同的视图,使他们只能查询和读写部分数据,未授权的数据既看不到也取不到,在一定程度上提供了对数据的安全保护机制。
视图的基本操作
(3)逻辑数据独立性。视图为数据提供了一定的逻辑独立性。视图对应三级模式中的外模式,当数据库的逻辑结构发生变化时,只需要修改视图的定义,就可以保证用户的外模式不变,对应的应用程序也就不必修改了。
6.1.1 视图的基本概念
7
6.1.2 创建、修改与删除视图
— 8 —
1.创建视图
(1)使用SSMS创建视图。
【例 6-1】
使用SSMS创建一个学生平均成绩的视图v_savg,其中包括学号和平均成绩。
步骤1打开SSMS并登录。在“对象资源管理器”窗口中打开“scs”节点,右击其下方的“视图”节点,在弹出的快捷菜单中选择“新建视图”菜单项,打开“添加表”对话框(同时底层会打开未命名的视图设计窗口),如图6-1所示。
图6-1 “添加表”对话框
8
6.1.2 创建、修改与删除视图
— 9 —
1.创建视图
步骤2在“表”选项卡中选中“sgrade”,单击“添加”按钮,然后单击“关闭”按钮,返回视图设计窗口,如图6-2所示。
图6-2 视图设计窗口
9
— 10 —
步骤3在界面上方的表结构中勾选“sno”及“grade”复选框,然后在界面中间的
列表中右击字段sno行前的实心三角按钮 ,在弹出的快捷菜单中选择“添加分组依据”菜单项,如图6-3所示。
图6-3 为数据表sgrade添加分组依据
6.1.2 创建、修改与删除视图
1.创建视图
10
— 11 —
步骤4使用同样的方法为字段grade添加分组依据,然后单击右侧的“分组依据”栏,在其下拉列表中选择“Avg”选项,在“别名”栏中输入“avggrade”,如图6-4所示。
图6-4 定义字段grade的分组依据
步骤5设置完成后单击工具栏中的“保存”按钮 ,打开“选择名称”对话框,在“输入视图名称”文本框中输入“v_savg”,单击“确定”按钮,完成视图的创建。
6.1.2 创建、修改与删除视图
1.创建视图
11
— 12 —
(2)使用T-SQL创建视图。
创建视图的T-SQL命令为CREATE VIEW,具体语法格式如下:
CREATE VIEW<视图名>[(列名)]
[WITH[ENCRYPTION][,SCHEMABINDING]]
AS <SELECT语句>
[WITH CHECK OPTION]
① (列名)可以全部省略或全部指定。
② ENCRYPTION表示视图加密,设置此选项后,将无法修改视图。
③ SCHEMABINDING表示视图与引用表的定义绑定,设置此选项后,引用表将不能随意更改表结构,如列的数据类型等,如果必须更改,则需要先删除与之绑定的视图。
④ AS关键字指明视图的结构,其后的<SELECT语句>可以是任意查询语句,但通常不包含ORDER