数据库实验五河南工业大学.doc_第1页
数据库实验五河南工业大学.doc_第2页
数据库实验五河南工业大学.doc_第3页
数据库实验五河南工业大学.doc_第4页
数据库实验五河南工业大学.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验成绩数据库系统原理及应用实验报告五专业班级: 计科1102 学 号: 201116910809 姓 名: 曹斌 指导教师: 苏小玲 2013 年 11 月 12 日实验五名称: SQL Server视图和索引 1、 实验内容及要求1. 创建视图和查看视图的定义任务1:用对象资源管理器管理器方式,创建一个 名为“v1”的视图,用于查询计算机网络专业男生的学号、姓名、出生日期,并将视图的列名分别改为:学生学号、男生姓名、生日。任务2:用对象资源管理器管理器方式,创建一个名为“v成绩”的视图,用于查询成绩在6080之间的学生学号、姓名、专业名、课程名、成绩信息。任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。2. 修改视图任务:用命令方式,在“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%后就换新页进行填充。2、 实验目的掌握创建、修改、删除视图的方法;掌握查询视图的方法;掌握用命令方式创建索引的方法。三、实验步骤及运行结果1. 创建视图和查看视图的定义任务1:创建一个名为“v1”的视图select * from V1任务2:创建一个名为“v成绩”的视图select * from V成绩任务3:用命令方式,创建一个名为“V个人最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩信息。create view V个人最高分(学号,姓名,课程号,最高成绩)asselect S.Sno, Sname,Cno, Grade from Student S join SC a on S.Sno = a.Snowhere grade = all (select grade from SC b where a.Cno = b.Cno)select *from V个人最高分运行结果:任务4:用命令方式,创建一个名为“V全校最高分”的视图,用于查询所有成绩中的最高分的学生学号、姓名、专业名、课程号、成绩。create view v全校最高分(学号,姓名,专业名,课程号,成绩)asselect s.Sno, Sname, Major, Cno, Gradefrom Student s join SC on s.Sno = SC.Snowhere Grade = (select MAX(grade) from SC)select *from V全校最高分运行结果:2.修改视图任务:用命令方式,在“v1”的视图中增加两列:专业和系。SQL语句:alter view V1(学生学号,男生姓名,生日,系别,专业)asselect Sno, Sname, Birthdate, Dept, Majorfrom Studentwhere Major=计算机网络 and Ssex = 男select * from V1运行结果:3.使用视图向数据表中插入数据任务1:用命令方式,在“V1”视图中添加如下两条记录,注意查看添加的结果。分析为什么?(020106,李好,1981-04-22,计算机网络,计算机)(020107,周权,1981-07-08,信息安全,计算机)SQL语句:insert into V1values(020106,李好,1981-04-22,计算机系,计算机网络)insert into V1values(020107,周权,1981-07-08,计算机系,信息安全)select * from V1运行结果:分析:视图中只有李好的记录,没有周权的记录。因为视图中只显示“计算机网络”专业的学生信息,所以周权的信息只能在基表中看到,而不能在视图中看到。任务2:用命令方式,在“V1”视图中设置“with check option”属性,然后通过视图向基表中添加如下两条记录,注意查看添加的结果。(020108,赵伟,1980-05-07,计算机网络,计算机)(020109,刘齐,1981-12-02,信息安全,计算机)SQL语句:alter view v1(学生学号,男生姓名,生日,系别,专业)asselect Sno, Sname, Birthdate ,Dept, Major from student where Major =计算机网络 and Ssex = 男 with check optioninsert into v1values(020108,赵伟,1980-05-07,计算机系,计算机网络)insert into V1values(020109,刘齐,1981-12-02,计算机系,信息安全)select * from V14.使用视图删除数据表中的数据任务1:用命令方式或对象资源管理器管理器方式,删除“V1”视图中,学号为020108的记录。SQL语句:delete from V1 where 学生学号=020108select * from V1运行结果:任务2:用命令方式或对象资源管理器管理器方式,删除“v成绩”视图中的记录。观察会出现什么情况?为什么?delete from V成绩 where Sno = 20111606不能删除,因为视图引用了多个表时,所以无法用delete命令删除数据5.删除视图要求:用命令方式或对象资源管理器管理器方式,删除创建的任何一个视图。drop view V6.创建索引任务1:在course表的“课程名”列上创建一个非聚集索引,索引名为“ix_kcm”,并降序排列。SQL语句:create index ix_kcm on Course(Cname desc)运行结果:任务2:在course表中,重新创建名为“ix_kcm”的索引,使其成为惟一性的非聚集索引。create unique index ix_kcm on Course ( Cname desc)with drop_existing任务3:已知sc表中的“学号”和“课程号”两列已设置为主键,主键约束名为“PK_xs_kc”,请重新创建这两列的组合索引,使学号降序排列,使索引页填满60%后就换新页进行填充。alter table SC drop constraint PK_SC_E600025307

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论