数据库实验报告 索引和视图.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库实验报告 索引和视图

西北师范大学计算机科学与工程学院学生实验报告 学 号 专业 计算机科学与技术 姓名 课程名称 数据库应用与开发 班级 实验名称 索引和视图 课程类型 专业限选课 实验目的: 在SQL SEVER 2005中,影响其数据库性的因素有很多,其中最重要的一项就是设计了有效的索引。而视图是从一个或几个基表(或视图)导出的表,与基表不同的是,视图是一个虚拟表,视图包含一系列带有名称的列和行数据。本次实验主要练习它们的创建和使用。 实验内容: 1、在course表的cname列上创建非聚集索引IDX-cname create nonclustered INDEX IDX_cname ON course(cname) 实验结果: 2、在student表的studentno和classno列上创建唯一索引UQ-stu,若该索引已存在,则删除后重建。然后输出student表中的记录,查看输出结果的顺序。 USE teaching GO IF EXISTS(SELECT name FROM sysindexes WHERE name=UQ_stu) DROP INDEX student.UQ_stu GO CREATE NONCLUSTERED INDEX UQ_stu ON student(studentno,classno) GO SELECT * FROM student 实验结果: 3、修改UQ-stu的索引属性,当执行多行插入操作时出现重复键值,则忽略该记录,且设置填充因子为80% USE teaching GO ALTER INDEX UQ_stu ON student REBUILD WITH (PAD_INDEX=ON,FILEFACTOR=80,IGNORE-DUP_KEY=ON) GO 实验结果: 4、创建一个视图v-teacher,查询“计算机学院”所有教师的信息 USE teaching GO CREATE VIEW v_teacher AS SELECT * FROM teacher WHERE department=计算机学院 GO SELECT * FROM v_teacher 实验结果: 5、创建一个视图v-avgstu,查询每个学生的学号、姓名及平均分,并且按照平均分降序排序USE teaching GO CREATE VIEW v_avgstu AS SELECT TOP(100) PERCENT student.studentno,studnt.sname,AVG(score.final) AS average FROM student,score WHERE student.studentno=score.studentno AND score.final IS NOT NULL GROUP BY student.studentno,student.sname ORDER BY AVG(score.final) DESC GO SELECT * FROM v_avgstu 实验结果: 6、修改v-avgstu的视图定义,添加WITH CHECK OPTION选项 SQL代码: USE teaching GO ALTER VIEW v_avgstu AS SELECT * FROM teacher WHERE department=计算机学院 WITH CHECK OPTION GO 实验结果: 7、通过视图v-avgstu向基表teacher中分别插入数据(‘05039’,‘张馨月’,‘计算机应用’,‘讲师’,‘计算机学院’)和(‘06018’,‘李诚’,‘机械制造’,‘副教授’,‘机械学院’),并查看插入数据的情况 SQL代码: USE teaching GO INSERT INTO v_teacher VALUES(05039,张馨月,计算机应用,讲师,计算机学院) INSERT INTO v_teacher VALUES(06018,李诚,机械制造,副教授,机械学院) SELECT * FROM v_teacher SELECT * FROM teacher 8、通过视图v-teacher将基表teacher中教师编号为05039的教师职称修改为“副教授” SQL代码: USE teaching GO UPDATE v_teacher SET prof=副教授 WHERE teacherno=05039 GO SELECT * FROM teacher 实验结果: 实验总结: 通过本次实验掌握了索引、统计信息和视图等数据库对象的基本概念和基本操作。 实验评语: 实验成绩 教师签字 1

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档