【实验目的】
1、了解索引和视图的含义
2、熟悉索引和视图的创建规则
3、掌握索引和视图的创建和管理
【实验设备及器材】
1、硬件:PC机;
2、软件:(1)Windows7; (2)Microsoft SQL Server 2012。
【主要内容】
索引的创建、删除、重建;视图的创建、修改和删除。
【实验内容及要求】/【实验步骤及结果】
请在“学生管理数据库”中完成(附加数据库,T-SQL语句)。
所需代码命令为:
USE?学生管理数据库
CREATE?UNIQUE?NONCLUSTERED?INDEX?I_SNAME
ON?学生信息表(姓名)
执行效果图如下:
所需代码命令如下:
USE?学生管理数据库
CREATE?NONCLUSTERED?INDEX?I_CNAME
ON?课程信息表(课程名)
执行效果图如下:
所需代码命令如下:
USE?学生管理数据库
CREATE?INDEX?I_CNO_GRADE
ON?成绩信息表?(课程号 ASC,?成绩 DESC);
执行效果图如下:
(SELECT * FROM 成绩信息表 FORCE WITH(INDEX(I_CNO_GRADE))
?WHERE 成绩>=60)
所需代码命令如下:
USE?学生管理数据库
SELECT?*?FROM?成绩信息表 FORCE?WITH(INDEX(I_CNO_GRADE))?WHERE?成绩>=60;
执行效果图如下:
所需代码命令如下:
USE?学生管理数据库
SELECT?*?
FROM?INFORMATION_SCHEMA.TABLE_CONSTRAINTS?
WHERE?TABLE_NAME =?'学生信息表';
执行效果图如下:
所需代码命令如下:
CREATE?VIEW?V_SNAME
AS?SELECT?COUNT(*)?AS?学生总数,?姓名
FROM?学生信息表
GROUP?BY?姓名;
执行效果图如下:
所需代码命令如下:
CREATE?VIEW?V_101_NOPASS
AS?SELECT?*?
FROM?成绩信息表
WHERE?课程号 =?'101'?AND?成绩 <?60;
sp_helptext'V_101_NOPASS'
执行效果图如下:
所需代码命令如下:
CREATE?VIEW?V_SAMECOLLEGE
AS?
SELECT?*?
FROM?学生信息表
WHERE?所在系='计算机'
WITH?CHECK?OPTION
sp_helptext'V_SAMECOLLEGE'
执行效果图如下:
所需代码命令如下:
CREATE?VIEW?V_S_SC_C
AS?
SELECT?学生信息表.姓名,课程信息表.课程名,成绩信息表.成绩
FROM?学生信息表,课程信息表,成绩信息表;
sp_helptext'V_S_SC_C'
执行效果图如下:
所需代码命令如下:
USE?学生管理数据库
SELECT?COUNT(DISTINCT?姓名)?
AS?人数,AVG(成绩)
AS?平均分
FROM??V_S_SC_C执行效果图如下: