实验七 索引与视图实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七索引与视图实验
一、实验目的及要求
本实验目的是掌握视图和索引的两种创建方式,并掌握视图的使用,理解索引的优点。基本要求包括:
●理解视图与基本表的区别。
●掌握通过管理器和SQL进行视图的定义、修改和删除方法。
●掌握通过管理器和SQL进行索引的定义和删除方法。
●理解索引的功能及类型。
●理解通过视图对基本表的修改。
二、实验原理及背景知识
(一)了解视图的知识
1、视图的概念与实质
视图是一种虚表,具有表的外观和部分特征,但是视图的实质是一组SELECT语句构成的SQL语句。对视图的修改都会转换为对基本表的修改,但不是所有的视图都可以修改的。
2、创建视图的SQL语法格式
CREATE VIEW view_name
AS
SELECT语句
WITH CHECK OPTION
其中WITH CHECK OPTION选项表示强制视图上执行的所有数据修改语句都必须符合由SELECT语
句设置的准则。
(二)了解索引的知识
1、理解索引的作用
索引是用来加快数据查询速度的一种对象。索引的维护需要耗费一定资源,因此索引不是越多越好,一般经常查询的列才创建索引,经常修改的表一般不创建索引。
2、了解索引的类型
聚簇索引:索引顺序跟数据物理存储顺序一致,每个表至多有一个聚簇索引。
唯一性索引:这种索引要求字段的值是唯一的,不能重复,但可以为空。
组合索引:建立在组合字段上的创建索引。
3、创建索引的语句格式
CREATE [UNIQUE]|[ CLUSTERED] INDEX index_name ON
table_name(colum_name [ASC/DESC][,colum_name[ASC/DESC]]......)
4、创建非主键聚簇索引
在SQL Server 2005中,会自动在主键上创建聚簇索引。如果需要在非主键上创建聚簇索引,则首先要删除主键约束,再重新创建非聚簇索引的主键约束,最后再在其他字段上创建聚簇索引。
第二篇实验内容及安排
三、实验内容及步骤
(一)利用管理器管理视图
创建一个视图,显示学生姓名、课程名称、学生总评成绩,并进行视图修改。
1、展开数据库项,选择数据库stumanage ,在“视图”选项上右击鼠标,弹出的快捷菜单中选择“新建视图”菜单项,打开“新视图”窗口,即视图设计器,如实验图7-1所示。
2、视图设计对话框分为4个区域,各区域的作用如下:
(1)图表区:图表区域与数据库图表很相似,它图形化地显示了视图中的表以及表之间的关联。在图表区中,可以添加或去掉视图所基于的表,也可以添加或去掉视图所包含的表列。
(2)表格区:表格区用表格显示视图所有的表列。在表格区中,可以添加或去掉视图所包含的表列,设定排序和分组,也可以通过修改某些列的取值规则来限制结果集的范围。
(3)SQL 语言区:SQL 语言区用Transact-SQL 语句表示视图结构,可以在区域中检查SQL 语句是否正确,并可以直接修改视图的SQL 语句。
(4)结果区:结果区用于显示视图的结果集。单击工具条上的“!”(运行)按钮,就可以在结果区中显示当前视图的结果集。
3、在“新视图”窗口图表区,单击鼠标右键,在快捷菜单中,选择“添加表”菜单项,打开“添加表”对话框,如实验图7-2所示。
实验图 7-1 视图设计器 实验图 7-2 “添加表”对话框
4、在“添加表”对话框中,分别选择要添加的表student ,再点击“添加”按钮,将student_course 添加到“新视图”窗口,同理将course_class 、course 也添加到“新视图”窗口,如实验图7-3所示。
实验图7-3 “新视图”对话框
实验图7-4 视图查询结果
5、在实验图7-3所示的创建视图窗口,选择要引用列前的复选框,指定列的别名、排列方式和限定行输出的条件,如实验图7-4所示。
6、点击实验图7-4所示的“视图”窗口上侧的“运行”按钮,执行视图查询,在窗口下方列出视图查询结果。
第二篇实验内容及安排
7、在管理平台窗口,单击“保存”按钮,打开“另存为”对话框,输入创建的视图名(S_C_View),单击“确定”按钮,完成视图的创建。
8、浏览查看视图数据
再展开数据库中的“视图”选项,在右侧窗格内选中要浏览的视图(例如S_C_VIEW),右击鼠标,从弹出的快捷菜单中,点击“打开视图”菜单中的“返回所有行”菜单项即可像浏览表一样浏览视图数据。
9、修改视图
视图创建好后,就可以利用它进行查询信息了。如果发现视图的结构不能很好地满足要求,还可以在企业管理器中对它进行修改。
(1)用鼠标右键单击要修改结构的视图,会弹出视图功能菜单。在弹出的菜单上选择“设计视图”项,则弹出视图设计器框。并列出了视图结构的详细内容,当对其修改完毕后关闭窗口,新的视图结构就会取代原先的结构。
(2)修改刚才的视图S_C_View,为该视图增加一个表teacher,并选中教师姓名,然后设置条件,让该视图只显示“刘玉庆”老师所教的学生的成绩信息。
10、删除视图
首先在管理器平台,将鼠标指向数据库中的视图文件夹,并单击鼠标右键。在随后出现的弹出菜单中,选择“删除”项,会出现删除视图对话框。选中欲删除的视图,单击“全部移出”按钮,被选中的视图就会从视图文件夹中被移出。
(二)利用T-SQL语句管理视图
1、创建一个包括学生的学号及其各门功课的平均成绩的视图S_AVG_VIEW。
2、创一个包括教师编号、教师姓名、性别和生日的100002号部门所有教师的视图。
可以执行语句SELECT * FROM teacher1_view查看视图中的数据。
3、使用SQL 语句修改视图。
4、使用SQL 语句删除视图。
(三)利用管理器管理索引
1、展开要创建索引的数据表course目录,在“索引”目录上点击右键,选择“新建索引”,弹出新建索引界面。如实验图7-5所示。