- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库实验五河南工业大学
实验成绩
《数据库系统原理及应用》
实
验
报
告
五
专业班级: 计科1102
学 号: 201116910809
姓 名: 曹斌
指导教师: 苏小玲
2013 年 11 月 12 日
实验五名称: SQL Server视图和索引
实验内容及要求
创建视图和查看视图的定义
任务1:用对象资源管理器管理器方式,创建一个 名为“v1”的视图,用于查询计算机网络专业男生的学号、姓名、出生日期,并将视图的列名分别改为:学生学号、男生姓名、生日。
任务2:用对象资源管理器管理器方式,创建一个名为“v成绩”的视图,用于查询成绩在60~80之间的学生学号、姓名、专业名、课程名、成绩信息。
任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。
任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。
修改视图
任务:用命令方式,在“v1”的视图中增加两列:专业和系。
3.使用视图向数据表中插入数据
任务1:用命令方式,在“V1”视图中添加如下两条记录,注意查看添加的结果。分析为什么?
(‘020106’,‘李好’,‘1981-04-22’,‘计算机网络’,‘计算机’)
(‘020107’,‘周权’,‘1981-07-08’,‘信息安全’,‘计算机’)
任务2:用命令方式,在“V1”视图中设置“with check option”属性,然后通过视图向基表中添加如下两条记录,注意查看添加的结果。
(‘020108’,‘赵伟’,‘1980-05-07’,‘计算机网络’,‘计算机’)
(‘020109’,‘刘齐’,‘1981-12-02’,‘信息安全’,‘计算机’)
请思考:这两条记录能否插入到基表中?能否在视图中能否显示?
4.使用视图删除数据表中的数据
任务1:用命令方式或对象资源管理器管理器方式,删除“V1”视图中,学号为‘020108’的记录。
任务2:用命令方式或对象资源管理器管理器方式,删除“v成绩”视图中的记录。观察会出现什么情况?为什么?
5.删除视图
要求:用命令方式或对象资源管理器管理器方式,删除创建的任何一个视图。
6.创建索引
任务1:在course表的“课程名”列上创建一个非聚集索引,索引名为“ix_kcm”,并降序排列。
任务2:在course表中,重新创建名为“ix_kcm”的索引,使其成为惟一性的非聚集索引。
任务3:已知sc表中的“学号”和“课程号”两列已设置为主键,主键约束名为“PK_xs_kc”,请重新创建这两列的组合索引,使学号降序排列,使索引页填满60%后就换新页进行填充。
实验目的
掌握创建、修改、删除视图的方法;掌握查询视图的方法;掌握用命令方式创建索引的方法。
三、实验步骤及运行结果
1. 创建视图和查看视图的定义
任务1:创建一个名为“v1”的视图
select * from V1
任务2:创建一个名为“v成绩”的视图
select * from V成绩
任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。
create view V个人最高分(学号,姓名,课程号,最高成绩)
as
select S.Sno, Sname,Cno, Grade
from Student S join SC a on S.Sno = a.Sno
where grade = all
(select grade from SC b where a.Cno = b.Cno)
select *from V个人最高分
运行结果:
任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。
create view v全校最高分(学号,姓名,专业名,课程号,成绩)
as
select s.Sno, Sname, Major, Cno, Grade
from Student s join SC on s.Sno = SC.Sno
where Grade = (select MAX(grade) from SC)
select *from V全校最高分
运行结果:
2.修改视图
任务:用命令方式,在“v1”的视图中增加两列:专业和系。
SQL语句:
alter view V1(学生学号,男生姓名,生日,系别,专业)
as
select Sn
文档评论(0)