索引和视图实验答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《索引和视图》实验
一、实验目的与要求
1.学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。
2.学会使用SQL Server管理平台查看索引。
3.学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX 删除索引。
4.掌握使用SQL Server管理平台、向导等创建、管理和删除全文索引,并使用全文索引查询信息的方法。
5. 掌握使用SQL Server管理平台和Transact-SQL语句CREATE VIEW创建视图的用法。
6.掌握系统存储过程sp_rename的用法。
7.掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。
二、实验平台
1、操作系统:Windows XP或Windows 2003
2、数据库管理系统:SQL Server 2005
三、实验内容
1.分别使用SQL Server管理平台和Transact-SQL语句为教务管理系
统数据库的《学生信息》和《课程信息》创建主键索引。
(1) 使用SQL Server管理平台为教务管理系统数据库的《学生信息》和《课程信息》创建主键索引。
(2) 使用Transact-SQL语句为教务管理系统数据库的《学生信息》和《课程信息》创建主键索引。
USE教务管理系统
GO
create unique nonclustered index学生信息_idx
on学生信息(学号)
GO
USE教务管理系统
GO
create unique nonclustered index课程信息_idx
on课程信息(课程编号)
GO
2.使用SQL Server管理平台按《课程信息》的课程编号列创建唯一
性索引。
3.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb
数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。
(1)使用SQL Server管理平台为教务管理系统数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。
(2)Transact-SQL语句为教务管理系统数据库的《成绩表》的“分数”字段创建一个非聚集索引,命名为《成绩_index》。
USE教务管理系统
GO
create nonclustered index成绩表_index
on成绩表(成绩)
GO
4.为教务管理系统数据库的《成绩表》的“学号”和“课程编号”
字段创建一个复合唯索引,命名为《成绩表_id_c_ind》。
USE教务管理系统
GO
CREATE CLUSTERED INDEX
成绩表_id_c_ind ON成绩表(学号,课程编号);
GO
5.分别使用SQL Server管理平台和系统存储过程sp_helpindex查看
《成绩表》和《学生信息》上的索引信息。
(1)使用SQL Server管理平台查看《成绩表》和《学生信息》上的索引信息。
(2)使用系统存储过程sp_helpindex查看《成绩表》和《学生信息》上的索引信息。
sp_helpindex成绩表
sp_helpindex学生信息
6.使用SQL Server管理平台的“向导'工具对《成绩表》创建一个聚
集索引和唯一索引。(同上方法)
(1) 对《成绩表》创建一个聚集索引
(2) 对《成绩表》创建一个唯一索引
7.使用系统存储过程sp_rename将索引《成绩表_index》更名为《成
绩表_ind》。
Sp_rename'成绩表.成绩表_index','成绩表_ind','index'
8.分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX
删除索《成绩表_ind》再次使用系统存储过程sp_helpindex查看《成绩表》上的索引信息。
(1) 使用SQL Server管理平台删除索《成绩表_ind》
(2) 使用Transact-SQL语句DROP INDEX删除索《成绩表_ind》
drop index成绩表.成绩表_ind
(3) 使用系统存储过程sp_helpindex查看《成绩表》上的索引信息。sp_helpindex成绩表
9.在教务管理系统数据库中,以《学生信息》为基础,使用SQL Server
管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、籍贯。
10.在教务管理系统数据库
中,使用Transact-SQL语
句CREATE VIEW建立
一个名为v_stu _c的视
图,显示学生的学号、姓
名、所学课程的课程编
号,并利用视图查询学号
为200130000130的学生
情况。
create view v_stu_c
as
select学生信息.学号,学生信息.姓名,成绩表.课程编号
from学生信息inner join
成绩表
on
学生信息.学号=成绩表.学号
select学号,姓名,课程编号
from v_stu_c
where学号='200130000130'
11.基于《学生信息》、《课程信息》和《成绩表》,建立一个名为v_stu_g
的视图,视图中具有所有学生的学号、姓名、课程名称、分数。
使用视图v_stu_g查询学号为200130000130的学生的所有课程与成绩。
create view v_stu_g
as
select学生信息.学号,学生信息.姓名,课程信息.课程名称,成绩表.成绩