西安石油大学数据库实验3索引及视图操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:学院名称:数据原理与应用计算机学院
专业班级:计1201
学生姓名:张文江
学号:201107010122
实验3 索引及视图操作
一、实验目的
1. 加深对索引和视图概念的理解。
2. 熟练掌握索引的创建和删除。
3. 熟练掌握视图的创建、修改和删除。
4. 熟练运用视图进行各种检索操作。
二、实验环境
硬件环境:PC机
软件环境:操作系统为Microsoft Windows 2000或以上版本。
数据库管理系统为Microsoft SQL Server 2000标准版或企业版。
三、实验内容
1. 熟悉运用SQL Server企业管理器和查询分析器进行索引的创建和删除。
2. 熟悉运用SQL Server企业管理器和查询分析器进行视图的创建、删除和修改。
四、实验步骤
1. 利用实验1已经建立并保存过的学生表、课程表,学生表按学号建立惟一索引,课程表按课程名建立惟一索引;
create index S_sno on S(sno)
create index C_cno on C(cno)
2. 利用实验1已经建立并保存过的学生表和选课表建立一个“网络工程”专业学生成绩视图JSGV(sno,cno,grade);
create view JSGV(sno,cno,grade)
as select S.sno,cno,grade
from SC,S
where dept='网络工程'and S.sno=SC.sno
利用视图JSGV查询“网络工程”专业的学生选课多于2门的学生学号;
select distinct sno
from JSGV
group by sno having (count(*)>2)
验证能否利用视图JSGV中插入一条“网络工程”专业学生选修“高等数学”课程的记录,并查询结果信息;
insert into JSGV values('20080205','c03','85')
删除视图JSGV。
drop view JSGV
3. 利用实验1已经建立并保存过的学生表、课程表、选课表建立视图TOTAL(sno,sname,cname,grade);
create view TOTAL(cno,sname,cname,grade)
as select o,sname,cname,grade
from SC,S,C
where S.sno=SC.sno and o=o
利用视图TOTAL 统计各门课程的选课人数,结果显示课程号、课程名及选课人数。 select cno as 课程号,cname as 课程名, count (*) as 选课人数
from TOTAL
group by cno ,cname
4. 验证能否利用视图TOTAL修改选修了“高等数学”课程的学生的成绩。
1.)修改以前利用视图TOTAL查看选修了“高等数学”课程的学生的成绩。
select sname,grade
from TOTAL
where cname='高等数学'
1.)修改以后利用视图TOTAL查看选修了“高等数学”课程的学生的成绩。
(1)update TOTAL
set grade=grade-2
where cname='高等数学'
(2)select sname,grade
from TOTAL
where cname='高等数学'
五、实验总结要求
经过这次试验学会了如何创建view视图、view视图的索引和view视图的基本操作,和TOTAL 视图的基本操作。经过这次试验又使我增加了对数据库查询分析器的认识,学会了更多基本技能。