2024年6月6日发(作者:)

华 中 科 技 大 学

《数据库技术与应用》

实验报告

专业班级: 学生姓名: 学号:

实验地点: 指导教师:

实验日期时间:

一、实验项目名称:

索引和视图

二、实验学时:

三、实验目的:

1.

2.

3.

4.

5.

6.

7.

学会使用SQL Server管理平台和Transact-SQL语句CREATE INDEX创建索引。

学会使用SQL Server管理平台查看索引。

学会使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引。

掌握使用SQL Server管理平台和Transact-SQL语句CREATE-VIEW创建视图的用法。

了解对索引和视图更名的系统存储过程sp_rename的用法。

掌握使用Transact-SQL语句ALTER VIEW修改视图的方法。

了解删除视图的Transact-SQL语句DROP VIEW的用法。

五、实验内容、步骤、代码和结果:

0. 创建studentsdb数据库及其相应表,并录入数据。

在SQL Server管理平台上,点击“新建查询”打开查询编辑器窗口,复制粘贴附件“创

建数据库代码”中的代码到查询编辑器窗口,运行即可生成相关数据库和表,并有相应的数

据。

1. 分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和

curriculum表创建主键索引。

alter table student_info alter column 学号 char(4) not null;

alter table student_info

add primary key(学号)

alter table

curriculum alter column 课程编号 char(4) not null;

alter table curriculum

add primary key(课程编号)

2.

使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。

create unique index 课程编号_idx on curriculum(课程编号)

四、实验工具或环境

3.分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字

段创建一个非聚集索引,命名为grade_index。

create index grade_index on grade(分数)

1 / 6

4.为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为

grade_id_c_ind。

create index grade_id_c_ind on grade (学号,课程编号)

5.分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade表和student_info表上的

索引信息。

EXEC Sp_helpindex grade

7.使用系统存储过程sp_rename将索引grade_index更名为grade_ind。

use studentsdb

go

exec sp_rename '_index','grade_ind'

8.分别使用SQL Server管理平台和Transact-SQL语句DROP INDEX删除索引grade_ind。再次使用

系统存储过程sp_helpindex查看grade表上的索引信息。

EXEC Sp_helpindex student_info

use studentsdb

go

drop index grade_ind on grade

6.使用SQL Server管理平台对grade表创建一个聚集索引和唯一索引。

2 / 6