实验报告
实验课程:数据库原理与应用
学生姓名:
学号:
专业班级:电子商务121班
2014 年 5 月 16 日
南昌大学实验报告
学生姓名:学号:专业班级:电子商务121班
实验类型:□验证□综合□设计□创新实验日期:2014-5-16 实验成绩:
实验3 索引和视图
一、实验目的
1、掌握创建视图的T-SQL语句的用法
2、掌握使用SQL Server Management Studio 创建视图和索引的方法
3、掌握查看视图和索引的系统存储过程的用法
4、掌握修改视图的方法
5、掌握创建索引的命令
二、实验内容
1、建立计算机系学生视图,该视图包含学生的学号、姓名和出生日期信息并查看视图定义
2、建立学生表中全体学生年龄的视图,该视图包含学生的学号、姓名、和年龄信息
3、建立选修“数据库”的学生的视图,该视图包含学生的学号和姓名信息
4、建立学生成绩视图,该视图包含学生的学号、姓名、课程名称和成绩信息,并进行加密
5、修改题目4中的学生成绩视图,该视图包含学生的学号、姓名、课程名称、成绩和班级信息
6、在数据库中,为“课程”表创建一个基于“课程号,课程名称”组合列的非聚集、复合索引khh_kcmc_index
7、查看学生表的索引
8、建立学生表的姓名唯一性索引,并且填充因子为60%
三、实验代码、数据处理及结果
1、
CREATE VIEW 计算机系学生
AS
SELECT 学号,姓名,出生日期
FROM 学生
WHERE 系别='计算机系';
select * from 计算机系学生;
2、由于年龄无此列,故无效运行,所以利用出生日期代替create view 出生日期
as
select 学号,姓名,出生日期
from 学生;
3、
create view 选修数据库学生
as
select 学生.学号,姓名
from 学生,课程注册,学期成绩
where 学生.学号=学期成绩.学号 and
学期成绩.课程编号=课程注册.课程编号 and
课程名称='数据库';
4、
create view 学生成绩
with encryption
as
select 学生.学号,姓名,课程名称,成绩
from 学生,学期成绩,课程注册
where 学生.学号=学期成绩.学号 and 学期成绩.课程编号=课程注册.课程编号;
5、
Create view 学生成绩
with encryption
as
select 学生.学号,姓名,课程名称,成绩,班别
from 学生,学期成绩,课程注册
where 学生.学号=学期成绩.学号 and 学期成绩.课程编号=课程注册.课程编号;
6、
create nonclustered index khh_kcmc_index
on 课程注册(课程编号 asc,课程名称 desc)
go
7、
sp_helpindex 学生
8、
四、实验总结
视图是从一个或几个基本表(或视图)导出的表,所以语句执行过程中经常需要用到表与表的链接。
但是视图又与基本表不同,它是一个虚表,数据字典中,其实只是储存了视图的定义,因此,对于视图的更新,需要转换为对基本表的更新。
在修改这一个内容中,由于过程短,我采用的是先删除前一个视图4,而后再重新创造了一个加密视图5,由此进行修改。
当视图是行列子集的时候,系统才能允许更新。
索引是对数据库中一列或者多列的值进行排序的一种结构,我们可以在视图上创建索引。